Should probably check for zero instead. If `None` is a valid option, then `val is not None or ...`