public IValue Eval(Environment environment) { if (before != null) { if (after != null) { return(@operator.Middle(before.Eval(environment), after.Eval(environment))); } return(@operator.After(before.Eval(environment))); } return(@operator.Before(after.Eval(environment))); }