Haskell isn’t an object-oriented language . All of the functionality built here from scratch already exists in a much more powerful form, using Haskell’s type system. Many of the ideas used in this section will come up again, but rather than hacking together objects, you’ll be creating types.