Name boolean arguments (rebased)

Rebased version of #2164 since I took long enough to review it that it started conflicting with retronym's later patches. Supersedes #2164.