This is very minor but the visibility of the value extractors is not consistent. We should make all of them package protected.