# The R Parameter — Your Dependencies, Encoded in Types
Chapter 1 introduced `R` as "what an effect needs to run." We kept it vague on purpose — you needed to understand effects before worrying about their environment.
Now it's time to understand `R` properly. This chapter answers: what is `R` mechanically, how does it flow through composition, and how do you satisfy it?
The payoff is significant. Once you internalize `R`, compile-time dependency injection stops feeling like magic and starts feeling obvious.