We've gotten a few questions on github and slack about deciding how to load inputs and outputs based on type. For users who don't care about storing their intermediates in a data warehouse, but who want to make sure their unpickleable types can make it across process boundaries, this is a pretty salient need.
I tried to write an example, and it ended up as a decent bit of code. This proposes adding a Dagster-provided user-space utility for constructing a type-based IO manager, to ease the process.
There are some hairy bits that come from a resource wrapping other resources.