Too Long; Didn't Read
Normally in <a href="https://hackernoon.com/tagged/java" target="_blank">Java</a> we use frameworks that resolve dependencies at runtime, and this can often result in hard to track down errors on deployment. A more functional alternative is to structure our programs slightly differently so that dependencies can be injected lazily in a type safe manner. The compiler and not runtime will identify and catch errors for us. Let’s start with a question: