did some syntactic cleanup
fixed a bad bug in implicit erasing
fixed semantics some more