Represents a function in the AST.

@:optionaloptionalret:Null<ComplexType>

The return type-hint of the function, if available.

@:optionaloptionalparams:Null<Array<TypeParamDecl>>

An optional list of function parameter type declarations.

@:optionaloptionalexpr:Null<Expr>

The expression of the function body, if available.

args:Array<FunctionArg>

A list of function arguments.