๐Dependency injection
Various ways to pass/forward/inject dependencies:
Passing explicit arguments
Passing dependencies to object constructors
Dependency injection frameworks
React context or similar
Monads
Closures (kind of?)
Global variables to pass rarely-used dependencies
Dynamic scoping is a better model for global variablesโDynamic scoping as a way to inject dependencies