class Foo (x :: * -> * -> *) where
data Bar a b
instance Foo Bar
type Baz a b = Either (Bar a b) b
instance Foo Baz -- does not work as Foo is a type synonym and not fully applied
对于给定的示例,是否可以在不添加Either (Bar a b) b
或更改newtype
的情况下为Foo
定义实例?