Fix source locations for layout blocks.
Improve parse error 'Show' instance.
Check stack frames when checking function types.

This prevents a bug where a function with no production
could return a value, and this would go uncaught by the
typechecker, e.g.:

    (int ->){}