[1 of 3] Processing p [1 of 1] Compiling H[sig] ( p/H.hsig, nothing ) [2 of 3] Processing q Instantiating q [1 of 1] Compiling H ( q/H.hs, bkpfail10.out/q/H.o ) [3 of 3] Processing r Instantiating r [1 of 2] Including p[H=q:H] Instantiating p[H=q:H] [1 of 1] Compiling H[sig] ( p/H.hsig, bkpfail10.out/p/p-D5Mg3foBSCrDbQDKH4WGSG/H.o ) bkpfail10.bkp:8:9: error: • Type constructor ‘H’ has conflicting definitions in the module and its hsig file Main module: type H :: * -> * data H a = H a Hsig file: type H :: * data H The types have different kinds • while checking that q:H implements signature H in p[H=q:H] bkpfail10.bkp:10:9: error: • Identifier ‘f’ has conflicting definitions in the module and its hsig file Main module: f :: H a -> H a Hsig file: f :: H -> H The two types are different • while checking that q:H implements signature H in p[H=q:H]