I want to use the list-tries package for a little hobby project, but my naive idea about how it should work is obviously wrong:

module TryPat where
import Data.ListTrie.Patricia.Map

a = singleton "harry" 99

yields the error:

    No instance for (Data.ListTrie.Base.Map.Map map0 Char)
      arising from a use of `singleton'
    Possible fix:
      add an instance declaration for
      (Data.ListTrie.Base.Map.Map map0 Char)
    In the expression: singleton "harry" 99
    In an equation for `a': a = singleton "harry" 99

Now, there is some stuff about this in the docs:

  The data types are parametrized over the map type they use internally to
  store the child nodes: this allows extending them to support different kinds
  of key types or increasing efficiency. Child maps are required to be
  instances of the Map class in Data.ListTrie.Base.Map. Some operations
  additionally require an OrdMap instance.

But frankly, I don't understand it, especially the type signatures. Any hints on how I might go about making an instance for Map map0 Char?