Don't parse null query; MapEntry gets hashCode/equals/toString
Fix #replaceLast in Query impls; + Query#hasPair