docs: function geoElementPair() {
    var args = mlutil.asArray.apply(null, arguments);
    if (args.length < 2) {
      throw new Error('need at least two parameters for geospatial element pair query');
    }
  
    var location = {};
  
    var keys = ['parent', 'lat', 'lon'];
    var key = null;
    var arg = null;
    for (var i=0; i < keys.length; i++) {
      key = keys[i];
      arg = args[i];
      if (arg instanceof QNameDef) {
        location[key] = arg;
      } else if (typeof arg === 'string' || arg instanceof String) {
        location[key] = new QNameDef(null, arg);
      } else if (arg instanceof ElementDef) {
        location[key] = arg.element;
      } else {
        throw new Error('no parameter for '+key+': '+JSON.stringify(arg));
      }
    }
  
    return {'geo-elem-pair': location};
  }