Semicolon Fixers

Replaces #511.
For reasons I've already explained, this is not easily possible, and would add far more complexity to implement.