While seemingly redundent, having the ability to read an output pin would eliminate needing to store pin state separately by the user. It looks like an OutputPin can be turned into an InputPin, but this seems like rather tedious to do each time a pin needs to be queried for it's state.