The loose equals `==` has pretty odd behavior, and I don't like looking up its quirks every time (http://stackoverflow.com/a/359509/240553). Could you get in the habit of never using it?

In this case, I do know that `undefined == null` is `true`, so I can't tell if what this is checking is intended to be `(auto_drill === undefined ? true : auto_drill)` (i.e. the caller didn't pass in the arg) or `(auto_drill === null ? true : auto_drill)` (the caller passed in `null` for the arg) or maybe `(auto_drill === null || auto_drill === undefined ? true : auto_drill)` (either one).