Guiding opinions: Enhance the core language in resonable, useful, and conservative ways. Don't be a framework. Rather, be a conservative set of generally-useful functions that may be used together or separately. Make advanced topics like transducers and monads so easy that you don't have to know when you're using them. Use a small set of common-sense dependencies to minimize adoption friction.