Add needed brackets to expression

Change-Id: I5341a2424b6d1586ebf121db184510c89bb3319e
Allow AST nodes to have stored types like lookups

These are intrinsic types

Change-Id: If5f61503c6e39f5feab13f3819a1cd31a111983a
Make For inputs distinct from attributes

While they look similar, they have different typing requirements, so it makes sense to separate them.

Change-Id: I6e8c5b53cb061ea43c8d4acad681f399457851fa
Remove unused free_names_from_attributes

Change-Id: I5c68e68ae4d4e39c27f4e12c4e734c91a71f68f2