sig
  type 'a or_bottom = [ `Bottom | `Value of 'a ]
  val ( >>- ) :
    'Bottom.Type.or_bottom ->
    ('-> 'Bottom.Type.or_bottom) -> 'Bottom.Type.or_bottom
  val ( >>-: ) :
    'Bottom.Type.or_bottom -> ('-> 'b) -> 'Bottom.Type.or_bottom
end