internal pullup resistors & digitalWrite

The benefit of pinMode(9,INPUT_PULLUP) is that its more obvious what the code does than pinMode(9, INPUT, true);
If the user was not familiar with pulls-ups than context sensitive help on INPUT_PULLUP would get him relevant information.

Or, if you prefer the three argument version, you could define PULLUP as true and use: pinMode(9, INPUT, PULLUP)

I like the three element, method best, it is more consistant with previous code) If we #DEFINE PULLUP 1 every one can have it their way. Personally I like rembering TRUE and FALSE best another variable has more charactors to potentially mistype and screw up the case with.

I agree with mem. The way I see it, digital pins really do have three "modes": input, output, and input w/ pullup.

The alternative is more versatile but, if the versatility is really that important, why not add a new function that allows the two operations to be arbitrarily combined. "pinControl" seems like a good name for such a function.

There are more than 3 modes. Pins can be defined as output can benefit from a pullups too.