Currently working on error productions.

FunctionReference serves a similar purpose as VariableReference, but instead provides a transparent layer between a function and a caller. It's purpose is to allow functions to call themselves, since in the old scheme, calling a Function required a function object, which had an incomplete set of statements up until that point.