In Conjure, every function (with exception of those annotated with @extern or @pure) receives an implicit first parameter called the “function context”. This context provides essential information about the execution environment of the function, including details about the caller, current state, and other metadata that can influence function behavior.
This context enables advanced features such as coroutines, stack-based allocation strategies, closure support, and more. It also allows for better debugging and profiling by providing insights into function calls and their origins.