module P : sig
  val init: unit -> unit
  val mk: unit -> string

  val pm: Types.t * Patterns.Node.t list -> int
end

module G : sig
  type chunk
  val mk: string -> chunk

  val pm: chunk -> int -> Types.t * Patterns.Node.t list
end
