Move UserFunction body to value level.
Users have to inherit from UserFunction which creates a new type for the function name in addition to its signature.
cl_function(name,type,body) reduces boilerplate.