sig   val ( |? ) : 'a option -> '-> 'a   val ( >>= ) : 'a option -> ('-> 'b option) -> 'b option end