code: function atKey(list, index) {
          if (!isArray(list.value))
              return;
  
          // see docs/impl-notes.md#at-1
          list = (!isArray(list.value[0].value) &&
              (list.type === "Expression"))
                  ? [list] : list.value;
  
          var pair, type, key;
          for (var i = 0; i < list.length; i++) {
              pair = list[i];
              // return empty thing if value is missing but key matches:
              if (!isArray(pair) &&
                  (Node.compare(index, pair) === 0))
                      return new Node();
  
              type = pair.type;
              pair = pair.value;
              key  = pair[0];
              if (Node.compare(index, key) === 0)
                  return (pair.length < 2) ? pair[1]
                      : newLessList(pair.slice(1), type);
          }
      }
docs: ............................................................ helpers: