1 consts value :: ('a,'v)trie => 'v option
2 alist :: "('a,'v)trie => ('a * ('a,'v)trie)list"
3 primrec "value(Trie ov al) = ov"
4 primrec "alist(Trie ov al) = al"