val sequence :
[ `One of 'a option | `Two of 'a option * 'a option ] ->
[ `One of 'a | `Two of 'a * 'a ] optionval map :
[ `One of 'a | `Two of 'a * 'a ] ->
f:( 'a -> 'b option ) ->
[ `One of 'b | `Two of 'b * 'b ] optionval fold :
[ `One of 'a | `Two of 'a * 'a ] ->
init:'accum ->
f:( 'accum -> 'a -> 'accum option ) ->
'accum option