While working with Haskel, the first step involves in writing a Haskell program is usually to write down all the types and haskel language is like a transcript just by looking at the function’s type it will tell you about what the function might do and third is turns run-time errors into compile time errors, it is better to fix errors up front