docs: function zip(keys, values) {
    if (keys.length !== values.length) {
      throw Error(`Incorrect number of arguments, expected: ${keys.length}, arguments received: ${values.join(', ')}`)
    }
  
    return keys.reduce((all, key, idx) => ({...all, [key]: values[idx]}), {})
  }