cleanup and tighter semantic checking for blkatoff()