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?