Represents a function in the AST.
ret:Null<ComplexType>
The return type-hint of the function, if available.
@:optionaloptionalparams:Null<Array<TypeParamDecl>>
An optional list of function parameter type declarations.
expr:Null<Expr>
The expression of the function body, if available.
args:Array<FunctionArg>
A list of function arguments.