Support curried function type syntax.

The production of a function type may now include function types without
parentheses. The effect annotation applies to the most recently parsed
function arrow.

Closes #79