non-empty-containers non-empty-containers provides two new data structures, NonEmptyMap and NonEmptySet, by extending Haskell's built-in Map and Set data structures. Both structures are guaranteed to contain at least one element.