
# Redirected to haskell-cafe On Sun, 2013-09-01 at 14:58 +0400, Artyom Kazak wrote:
Would this be an appropriate place to propose adding mapM_ (and then possibly mapM) to bytestring library?
Was it suggested before? If yes, why was it rejected?
This got me wondering: there are several type-classes useful for polymorphic container types, e.g. Functor, Foldable & Traversable which all apply to some type of kind (* -> *). Are there related things for monomorphic containers, like ByteString, Text or some newtype'd Vector with fixed element type, e.g. class MFunctor f a where mfmap :: (a -> a) -> f -> f instance MFunctor ByteString Word8 where mfmap = ByteString.map or (maybe even better) class MFunctor f where type Elem mfmap :: (Elem -> Elem) -> f -> f instance MFunctor ByteString where type Elem = Word8 mfmap = ByteString.map and similar for other classes. Nicolas