...where the options are:

* One method, permit `null` here and there with good documentation.
* One method name, multiple overloads for the three cases.
* Three methods with different, descriptive names for each case.