encToJsonNoSpaces :: ( Monoid t , Applicative f ) => AReview Json (b, t) -> (a -> b) -> Encoder f a encToJsonNoSpaces c f = encodeA (pure . review c . (, mempty) . f) bytestring :: Applicative f => Encoder f ByteString bytestring = encToJsonNoSpaces _JStr (_JStringBS #) _JStringBS :: (Profunctor p, Applicative f) => p ByteString (f ByteString) -> p JString (f JString) _JStringBS = iso (C.pack . review _JString) (JString' . V.fromList . fmap utf8CharToJChar . C.unpack)