request_loop(result["total"].to_i, result["users"], offset, limit, 100) do |result, steps|
          Parallel.map(steps, in_threads: 2) do |offset|
            make_request!(:get, "v1/users/#{other_user_id}/contacts/shared", params.merge(limit: 100, offset: offset), array_keys: ["shared_contacts", "users"])
          end.each { |r| result.concat r }