I don't know if this is exactly what you were expecting as a dummy argument,
but I solve this kind of issues like this:
_L = undefined
class C a where
type TT a
val :: a -> TT a
instance C () where
type TT () = ()
val _ = ()
instance (C a, C b) => C (a, b) where
type TT (a,b) = (TT a, TT b)
val _ = (val (_L :: a),val (_L :: b))
Why normal unification (val :: TT a) does not work I can't say why, but this
kind of behavior is not solely for type families.
Cheers,
hugo
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe