Output signature of the functor Make
The type of the values being fold over.
The type of the accumulator
A map containing no bindings
add m ~key ~data adds the key to the value already bound to key in m. If no value is bound to key than the initial value specified by the functor will be used instead.
add m ~key ~data
key
m