我有类似的类型同义词
type Events t b = Tb.T t b
基础类型Tb.T
是许多类型类的实例,例如
instance [safe] (Eq time, Eq body) => Eq (Tb.T time body)
instance [safe] Functor (Tb.T time)
..
我的类型同义词(当然)继承了所有这些实例。例如。它也是一个函子:
λ> :t flip fmap (undefined :: Events Int String)
flip fmap (undefined :: Events Int String)
:: (String -> b) -> Tb.T Int b
,但是ghci的:info
命令或生成的haddock文档中均未显示此事实。另外,我希望返回类型为Events Int b
而不是Tb.T Int b
。
有没有办法避免这种情况?