removed duplicate general function definition; moved 'literal-function-constructor' above 'literal-function-call' so function definitions are detected first (otherwise the 'function' keyword can be confused with a method name)