ast: make Name its own type