Module Trie

module Trie: sig .. end

type 'a t = 
| Trie of 'a option * (char * 'a t) list
val root : 'a t
val trie_from_char_list : char list -> 'a -> 'a t
val assoc : ('a * 'b) list -> 'a -> 'b option * ('a * 'b) list
val insert : 'a t -> char list -> 'a -> 'a t
val traverse : 'a t -> char list -> 'a t option
val lookup : 'a t -> char list -> 'a option
val explode : string -> char list
val walk : 'a t -> string list
val trie_from_string_list : (string * 'a) list -> 'a t
val match_prefix : 'a t -> string -> string list