Wrap i/o functions in the appropriate macro and be sure they have a ! in the name. Turns out to be almost everything