code: function(key) {
      var pos = key.indexOf('[');
      if (pos === -1) return { type: 'string', val: key };
      return { type: 'array', val: key.substr(0, pos) };
    }
docs: for now we will only support string and arrays