always return a string from `with_new_form_buffer`

fixes `semantic_errors` regression from #1996 as per
my discussion with @coreyward in the diff for a1cfdb69d7ad