Haskell Open Recursive Types Examples