[1 of 3] Processing p [1 of 2] Compiling H[sig] ( p\H.hsig, nothing ) [2 of 2] Compiling M ( p\M.hs, nothing ) [2 of 3] Processing h Instantiating h [1 of 1] Compiling H ( h\H.hs, bkpfail23.out\h\H.o ) [3 of 3] Processing r Instantiating r [1 of 1] Including p[H=h:H] Instantiating p[H=h:H] [1 of 2] Compiling H[sig] ( p\H.hsig, bkpfail23.out\p\p-6KeuBvYi0jvLWqVbkSAZMq\H.o ) bkpfail23.bkp:15:9: error: [GHC-15843] • Type constructor ‘F’ has conflicting definitions in the module and its hsig file. Main module: type F :: * -> * type F a = () Hsig file: type role F phantom type F :: * -> * data F a Illegal parameterized type synonym in implementation of abstract data. • While checking that ‘h:H’ implements signature ‘H’ in ‘p[H=h:H]’. Suggested fix: If possible, eta-reduce the type synonym ‘F’ so that it is nullary.