add `skip_empty` argument to `pushes()`