Haskell has a naming convention that's actually part of the language
- Functions start with lower case
- Constructors start with upper case
So you need to change MapTuple
to mapTuple
As for what a constructor is,
data Foo = ThisIsAConstructor
It's basically a function that returns a Foo
.