Dependency injection with crystal macros

Each request has its own container scoped to the fiber its running in, so it’s free to mutate things as needed without leaking, or having to reset state, between requests.

That makes sense, I guess the difference here is that you can inject stuff from the global scope as well as from the local scope.

Could set it up to just call whatever class method it’s applied to.

Ooh that’s a nice idea, since the .new method will inherit the annotations from the initialize method so it’ll just work.