get union tests working
fix all exceptions
fix typo
tidy types
split out parse
add notes