Change the syntax for distinguising between alias types and product types so
that product types are surrounded with parenthesis while alias types are not.

More permissive whitespace rules so that we can align along columns decl, expr
and stmts.
Refer to structure types instead of the more type theoretic product types