tidy
fix sub, implement default negation protocol
negate test