sig type symbol = string type path = symbol list type 'a t exception Already_present of path val empty : 'a t val add : path -> 'a -> 'a t -> 'a t val find : path -> 'a t -> 'a list end