class SomeClass (m :: Type -> Type) instance someClassArray :: SomeClass Array instance someClassNewtype :: (Newtype (t a) (m a), SomeClass m) => SomeClass t
This gives me the error
Overlapping type class instances found for Control.MonadPlus.SomeClass t The following instances were found: Control.MonadPlus.someClassArray Control.MonadPlus.someClassNewtype in type class instance Control.MonadPlus.SomeClass t PureScript(OverlappingInstances)
I don’t understand this.
Array is not a Newtype. I don’t see how they’re overlapping. Does the compiler not see the
(Newtype (t a) (m a), SomeClass m) dependency?