We already have implicit context. It's called thread local storage and dynamic scoping, and we figured out it's a bad idea a long time ago.
Explicitly passing data and lexical scoping is better for understandability.