Though its quite different to AdvancedOverlap, Conal Elliott has a method of answering the title of your post - "Choosing a type-class instance based on the context".
See the CxMonoid (context monoid) in Section 3. Flexible Layout of the paper Applicative Data-Driven Computation. http://conal.net/papers/data-driven/paper.pdf Best wishes Stephen _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe