kronecker: Drop Applicative constraint

This allows reasonable results for more functors
Add Metric instances for IntMap, Map, and HashMap