{-
This is a correct Haskell 98 program (checked with Hugs). But
nhc98 -c -o KindTest4.o KindTest4.hs
====================================
Error after type deriving/checking:
Type error type clash between Main.PreNat and type application
when trying to apply function at 20:7 to its 1:st argument at 12:13.
Type error type clash between Main.PreNat and type application
when trying to apply function at 19:8 to its 1:st argument at 11:13.
-}
data 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"