For Puppet 6, we should prune the language of all vestiges of exporting and collecting, virtual/realized resources.
As far as I can tell, all use cases for these language functions are better handled by various combinations of
- data structures and loops to create resources at the point you need them, with proper resource default propagation for chained dependencies.
- puppetdb query, which lets you find resources without having to specifically export them
- refactoring into roles & profiles that reduce the multiple-declaration problem that realizing was meant to solve
I'd like to collect all the weird edge cases around these constructs as related issues on this ticket, and also solicit feedback on whether there are NOT use-cases that are better covered somewhere else.