module M1 where import {-# SOURCE #-} M2 class C a where f :: a -> Bool instance C a => C [a] where f = or . map f test = f [ 1 .. 10::Int ]