add Semiring[Map[K, V]] instance