public override IMatched <Unit> Suffix(ParseState state, Expression expression) { var implicitExpressionState = state.ImplicitExpressionState; state.EndImplicitExpressionState(); if (implicitExpressionState.Symbol1.If(out var symbol)) { var implicitExpressionSymbol = new ImplicitExpressionSymbol(expression, message, parameterCount, symbol, implicitExpressionState.Symbol2); builder.Add(implicitExpressionSymbol); return(Unit.Matched()); } else { return("Collection or iterable not expressed".FailedMatch <Unit>()); } }