unit p where signature H where data T = T Int module A where import H f :: T -> Int f (T x) = x unit qimpl where module T where data T = T Bool module H(T(..)) where import T unit q where dependency p[H=qimpl:H]