hmm, maybe `_unit(v)` should just return None?