public abstract void Visit(BlockNode node, Context context);
public override void Visit(BlockNode node, Context context) { throw new NotImplementedException(); }