Move UserFunction body to value level.
Prettier constructor, allows for dynamic user functions (mirroring behaviour of function pointers).
Can't use two complex objects in one expression, segfaults.