remove unused item types
don't emit comma, parser has no use for it
no need to lex space
loop inside tag value instead of recursion
tag and tag value should have their own types; lose generic identifier
loop on tag lex instead of recursion
rename funcs, no need for 'inside'