What's the motivation for making this a typeclass instead of just exporting `liftScotty` as a helper function that does the lifting? Is this a pattern you've seen before? Is it being done so we can change the config / ReaderT stack in the future?