This is not urgent and not even a real RFC. More of an
exploration. I wanted to put something out there to solve what I deemed
the "composability problem" in the type system. The thesis is that in
reality our types and all the attached artitfacts are actually just
business logic and quite application-specific. Therefore we should
providde APIs to build types rather than to have prefabricated types.
The first step is making a layer and allows one to compose type loaders
and materializers out of individual entries. This is cleaner as you no
longer have to manage the construction of the Selector and a monolithic
config processing function. More interestingly I think this will allow
things like cross-cutting changies to loaders and materializer
behaviors. E.g. having pre-built entries for interacting with asset
stores or filtering out entries based on mode.
This also plays with the idea of having a "builder" api that builds
types by annotating the core typecheck fn.