nested types

support for nested types
support single-pass parsing
off by one

bad fix earlier, forgot to account for this
delete commented code

out with the old!