`getPort()` needs a `Config` object. DI will injec...
# random
c
getPort()
needs a
Config
object. DI will inject that object directly in a field of the class, Reader forces you to pass it as a parameter (another downside by the way, now
getPort()
is
getPort(config: C) : Reader[C, Int]
)