The way I see it, this is an acceptable compromise:1) Have .byKeyValue in druntime, which returns a struct with .key and .value; 2) Have .byPair in Phobos (via UFCS), which wraps around .byKeyValue and returns a Tuple of .key and .value.
I agree with this.
