Sourceval fst : ('a1 * 'a2) -> 'a1 Sourceval snd : ('a1 * 'a2) -> 'a2 Sourcetype 'x buf5 = | B0| B1 of 'x| B2 of 'x * 'x| B3 of 'x * 'x * 'x| B4 of 'x * 'x * 'x * 'x| B5 of 'x * 'x * 'x * 'x * 'x
Sourcetype color = | Green| Yellow| Red
Sourceval prefix23 : 'a1 option -> ('a1 * 'a1) -> 'a1 buf5 Sourceval suffix23 : ('a1 * 'a1) -> 'a1 option -> 'a1 buf5 Sourceval suffix12 : 'a1 -> 'a1 option -> 'a1 buf5 Sourcetype 'x bdecomp_pre = | BD_pre_underflow of 'x option| BD_pre_ok of 'x buf5| BD_pre_overflow of 'x buf5 * 'x * 'x
Sourcetype 'x bdecomp_suf = | BD_suf_underflow of 'x option| BD_suf_ok of 'x buf5| BD_suf_overflow of 'x buf5 * 'x * 'x
Sourcetype 'x bsandwich = | BS_alone of 'x option| BS_sandwich of 'x * 'x buf5 * 'x
Sourcetype 'x gpop_result = | GPopFail| GPopOk of 'x * 'x gSChain
Sourceval gmk_ending_from_options :
'a1 option ->
('a1 * 'a1) option ->
'a1 option ->
'a1 gChain