-- GHC 6.7 at one point said wog's type was:
--
--    wog :: forall t e (m :: * -> *).
--           (Monad GHC.Prim.Any1, Monad m) =>
--           t -> Something (m Bool) e
--
-- The stupid 'GHC.Prim.Any1' arose because of type ambiguity
-- which should be reported, and wasn't.

module ShouldFail where

data Something d e = Something{ bar::  d, initializer::e   }

foo :: (Monad m) => Something (m Bool) n
foo = undefined

wog x = foo{bar = return True}

