public override bool Accept( IVisitor visitor ) => visitor.Enter(this) && Guard.Accept(visitor) && (Guarded == null || Guarded.Accept(visitor)) && visitor.Exit(this);