DefinedFunction implements DefinitionNode
refactored Module/SmoothRunner
removed Function.hash() method, only NativeFunction has hash() method