sig
  type result = (bool * int * int) list
  val match_query : candidate:string -> string -> Matching.result option
  val set_match_query_fun :
    (candidate:string -> string -> Matching.result option) -> unit
  val subset :
    ?case:bool -> candidate:string -> string -> Matching.result option
  val partial_match :
    ?case:bool -> candidate:string -> string -> Matching.result option
  val match_prefix :
    ?case:bool -> candidate:string -> string -> Matching.result option
  val fuzzy_match :
    ?case:bool -> candidate:string -> string -> Matching.result option
  val fuzzy_prefix :
    ?case:bool -> candidate:string -> string -> Matching.result option
end