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?