let (>:) f h s =
  let u = f s
  match u with
   Return(rest, result)
               ->  Return(rest, h result)
  | Fail -> Fail ;;