val map : ( 'a -> 'c ) -> ( 'b -> 'd ) -> ( 'a, 'b ) union -> ( 'c, 'd ) unionval equal : 
  ( 'a -> 'a -> bool ) ->
  ( 'b -> 'b -> bool ) ->
  ( 'a, 'b ) union ->
  ( 'a, 'b ) union ->
  boolval fold_left : 
  ( 'c -> 'a -> 'c ) ->
  ( 'c -> 'b -> 'c ) ->
  'c ->
  ( 'a, 'b ) union ->
  'c