Get the type soundness working for expressions.

Next step, declarations.