Much cleaner - I was wondering about the handling of falsey values, but I wanted to maintain backwards compat.