code: function getterForProp(prop) {
      if (prop == null)
          return emptyStringGetter;
      if (typeof prop === 'number') {
          return numericIndexGetter;
      }
      else {
          // deep or simple
          if (prop.indexOf('.') !== -1) {
              return deepValueGetter;
          }
          else {
              return shallowValueGetter;
          }
      }
  }
docs: Returns the appropriate getter function for this kind of prop.
  If prop == null, returns the emptyStringGetter.