I don’t really think the imperative vs functional dynamic makes sense in 2026 when every language has some combination of every feature from every paradigm.
I get where you’re coming from, but Odin isn’t like most contemporary languages on this front as it’s fundamentally imperative by design and nature. “Functional” usually implies a declarative aspect, and for a lot of people it also implies things like “everything is an expression”, “no side effects”, or “immutability by default”, and Odin doesn’t have any of those aspects.
Odin’s tagged unions aren’t sum types in the algebraic sense. A sum type is a sum over the possible states of labelled (possibly non-unique) variants. Odin’s union is a set of unioned distinct types where the thing that discriminates them is the type itself, not a label. For many FP folks that distinction really matters, because the algebraic semantics end up being different. Add in the fact that Odin doesn’t have pattern matching, and it’s not likely to win over many FP fans, especially anyone coming from ML-style languages.
Odin’s procedure literals are another case that looks functional but isn’t really. They aren’t true higher-order functions: they don’t capture the parent scope. They’re essentially global-scoped procedures (so they can have side effects) that just happen to be nestable inside another procedure’s body. For a language to support such a construct with a unified procedure signature type, automatic memory management is required, and something Odin is never going to support.
So I don’t think there’d be any real benefit to adding the intrinsic you’re asking for as it just doesn’t fit how the language works.
More broadly, I’m not a fan of this push to merge the two paradigms. It tends to overlook the genuine benefits of an imperative, procedural approach and treats the functional approach as better by default for everything, which is objectively false.