method str_item =
                  function
                  | Ast.StExt (_, s, t, _) -> (o#ctyp t)#add_atom s
                  | Ast.StVal (_, Ast.ReNil, bi) ->
                      (o#binding bi)#add_binding bi
                  | Ast.StVal (_, Ast.ReRecursive, bi) ->
                      (o#add_binding bi)#binding bi
                  | st -> super#str_item st