had we instead written a struct which had a bunch of string fields corresponding to headers we wanted to pass through -- instead of a list of key-value pairs -- this wouldn't have happened.