{- This is a correct Haskell 98 program (checked with Hugs). But nhc98 -c -o KindTest3.o KindTest3.hs Fail: Couldn't find rhs of newtype: Main.Fix Two conflicting datatype definitions? -} newtype Fix f = Fold (f (Fix f)) data PreNat r = Zero | Succ r type Nat = Fix PreNat zero = Fold Zero one = Fold (Succ zero) main = print "Test"