sig   type t = (string * string) list   val to_string : (string * string) list -> string   val data :     ?name:string ->     ?version:string ->     ?ident:string ->     ?author:string -> ?www:string -> unit -> (string * string) list   val message : (string * string) list -> string   val interface : Kwapp.interface   val action : (string * string) list -> ('a, unit) Kwapp.action   val check :     ('a * '-> ('a * 'c) list -> 'd) -> ('a * 'c) list -> 'a * '-> 'd   val ( + ) : ('a * 'b) list -> 'a * '-> ('a * 'b) list   val ( <+ ) : ('a * 'b) list -> 'a * '-> ('a * 'b) list   val ( - ) : ('a * 'b) list -> '-> ('a * 'b) list   val ( @ ) : ('a * 'b) list -> ('a * 'b) list -> ('a * 'b) list   val ( <@ ) : ('a * 'b) list -> ('a * 'b) list -> ('a * 'b) list   val ( = ) : ('a * 'b) list -> 'a * '-> ('a * 'b) list   val sort :     ?compare:('a * '-> 'a * '-> int) ->     ?first:'a list -> ('a * 'b) list -> ('a * 'b) list end