docs: function findUniqueKeys (obj, keys, stack) {
    if (typeof obj === 'object' && obj) {
      if (stack.indexOf(obj) < 0) {
        stack.push(obj)
      } else {
        throw new TypeError('Converting circular reference to JSON')
      }
      if (obj instanceof Array) {
        obj.forEach(function (element) {
          findUniqueKeys(element, keys, stack)
        })
      } else {
        Object.keys(obj).forEach(function (key) {
          if (!keys[key]) {
            keys[key] = 1
          }
          findUniqueKeys(obj[key], keys, stack)
        })
      }
      stack.pop()
    }
    return keys
  }