The definition of closurization of, say, an operator is (a){return u m a;} (where m is the operator).
This loses the static return type, and needs extra specification to put it back in.
If the definition was instead (a)=>u m a then the return type comes automatically because the static return type of a (..)=>expr function is the static type of expr.