sig
  exception Error
  exception Unhandled
  module Address :
    sig
      type t
      val create : string -> int -> LO.Address.t
      val default : unit -> LO.Address.t
    end
  module Message :
    sig
      type timetag = int * int
      type data =
          [ `Blob of string
          | `Char of char
          | `Double of float
          | `False
          | `Float of float
          | `Infinitum
          | `Int32 of int
          | `Int64 of int
          | `Midi of string
          | `Nil
          | `String of string
          | `Symbol of string
          | `Timetag of LO.Message.timetag
          | `True ]
      val to_string : LO.Message.data -> string
    end
  val send : LO.Address.t -> string -> LO.Message.data list -> unit
  module Server :
    sig
      type t
      val create :
        int -> (string -> LO.Message.data array -> unit) -> LO.Server.t
      val recv : LO.Server.t -> unit
    end
end