These functions use NIFFile only as context, they are not really a part of either reading nor state invariant. And they only confuse reader because it's not immediatelly obvious that no code is executed after fail.