sig
  val ( <|> ) :
    'Tyre.t -> 'Tyre.t -> [ `Left of '| `Right of 'b ] Tyre.t
  val ( <&> ) : 'Tyre.t -> 'Tyre.t -> ('a * 'b) Tyre.t
  val ( *> ) : 'Tyre.t -> 'Tyre.t -> 'Tyre.t
  val ( <* ) : 'Tyre.t -> 'Tyre.t -> 'Tyre.t
end