unit p where signature A where data T instance Eq T unit q where dependency p[A=] signature A (T) where