nitpick, but `(not= 0)` might be less fragile