On Dec 13, 2016 1:26 PM, "Oleg Grenrus" <oleg.grenrus@iki.fi> wrote:

I'm not sure we want `transformers`  to depend on `containers` either,
not even mentioning `vector` and `unordered-containers`. Also there are
people stuck with `transformers-0.4` (GHC 7.10).

Good point, although practically speaking, containers currently *can't* depend on transformers, because transformers is not currently a GHC boot package. There'll probably be room for your compat package for a while, but you'll have to chase those bounds :-/.

>     Current implementations are naive, but more obviously correct.
>
> More than what?

It seems that implementation for Data.Map is indeed "check size, compare
lists", but e.g for vector it uses streaming framework to make things
fuse, I still use "check size, compare lists" approach.

I believe the only containers structures with non-boring instances of any of those classes are Data.IntMap, Data.IntSet, and Data.Tree.

Side question: why doesn't Read1 have the ReadPrec-based methods that Read does?