public abstract void Visit(ICheeseVisitor visitor);
public override void Visit(ICheeseVisitor visitor) { visitor.Visit(this); }