- Transform asserts into unconditional checks - Abort as soon as an error is encountered - Remove return errors