public bool TryParse(PrioritizedString expr, ParameterInfo paramInfo, out Expression parsed) { expr = expr.Trim(); var exprStr = expr.Input; if (!Brackets.AreMatching(exprStr.First(), exprStr.Last())) { parsed = null; return(false); } var exprWithoutBrackets = expr.Substring(1, expr.Input.Length - 2); parsed = Combinator.ParseFunctionalExpression(exprWithoutBrackets, paramInfo); return(true); }