add comments explaining meaning of the TYPE macro