This will fail to throw a TypeError if `hasher` is `false`, `null`, `undefined`, `''`, `0`, or `NaN`. You should check `arguments.length` (or use `hasher != null` if this isn't feasible for some reason).