use @willkg 's implementation of skip_if