syntax AND semantics at once

also move a TODO into TODO