sig
  type t =
      [ `Auction
      | `Basket
      | `Bracket
      | `Hidden
      | `Iceberg
      | `Limit
      | `Limit_if_touched
      | `Limit_on_close
      | `Limit_on_open
      | `Market
      | `Market_if_touched
      | `Market_on_close
      | `Market_on_open
      | `Market_to_limit
      | `Pegged_to_benchmark
      | `Pegged_to_market
      | `Pegged_to_midpoint
      | `Stop
      | `Stop_limit
      | `TWAP
      | `Trailing_limit_if_touched
      | `Trailing_market_if_touched
      | `Trailing_stop
      | `Trailing_stop_limit
      | `VWAP ]
  val of_string : string -> t
  val to_string : t -> string
  val tws_of_t : t -> Tws_prot.raw_tws
  val t_of_tws : Tws_prot.raw_tws -> t
  val val_type : t Tws_prot.Val_type.t
  val t_of_sexp : Sexplib.Sexp.t -> Order_type.t
  val __t_of_sexp__ : Sexplib.Sexp.t -> Order_type.t
  val sexp_of_t : Order_type.t -> Sexplib.Sexp.t
end