Basic dependency injection with objects

A simple way to encode dependency injection using the Reader monad and objects in OCaml (to work well with type inference).