moved parse_test to make room for a more fundamental parse_test
fixed OptionalTerm, added test for it
forgot to add test