unless with if
 that was fun to power through, adding arity overloads is just the wrong way to go