docs: function kv(obj) {
    return traverse(obj).reduce(function(acc, v) {
      if (this.isLeaf) {
        if (!Array.isArray(v) && !isObject(v)) { // ignore empty array and object
          var path = pointer.compile(this.path);
          acc[path] = v;
        }
      }
  
      return acc;
    }, {});
  }