Improve mid-do-block cases

By assuming that any missing type is () (which is probably what was
intended anyway). This works by filling any holes with () if they happen
to be patterns in generated case blocks.