method virtual_flag : virtual_flag -> 'self_type =
                  function
                  | ViVirtual -> o
                  | ViNil -> o
                  | ViAnt _x -> let o = o#string _x in o