We want to be able to type functions that take some abstract HMap and returns a HMap that is modified from the original.
eg. Add an :a entry to some HMap.
- Dissoc is also useful
Can this be used as a starting point for expressing assoc as a first class type? We need some way of unrolling pairs of arguments into repeated Assoc calls.