Improves support for Literals

Turns them into first class 'types', rather than implicitly assuming
everything that's not a Macaronic type is a literal.

Also: proper Array support
Adds 'do syntax' example