Fixed type parsing...

The type parsing now supports Arrow types, which are something like A->B .
These can be nested of course.

Additionally, type inference has been completed.

Additionally, examples of famous combinators have been used as test cases
within this program.

This was far from an atomic commit.  I am a horrible horrible person.