Having ```salt``` be sometimes boolean and sometimes a string can be a bit confusing. How about using ```has_salt``` when it is boolean?