private static SyntaxNode AnalyzeAmbiguousFunctionOrDistribution(FunctionOrDistributionNode node) { if (environment.IsPredefinedFunction(node.Identifier.Value)) { return(CreateFunctionNode(node.Identifier, node.Expression)); } EnvironmentVariable definition = environment.Get(node.Identifier.Value); if (definition.IsTypeOf(EnvironmentVariableType.Function)) { return(CreateFunctionNode(node.Identifier, node.Expression)); } return(CreateMultiplicationNode(node.Identifier, node.Expression)); }