With duct, do people typically pass around the whole system map to all functions that need multiple components?
IMO you provide just dependencies required, not the whole system.
so if something takes for example a logger, a database resource and an external data api connection, you would select keys on the system for just those components and pass that to the function?