a la cache

This adds an example of case classes a la carte where instances (and their extractions) are memoized, saving heap usage (and in the case of repeated extraction, churn of `Some`s).