Perhaps it's micro-optimizing, but I'd be curious to see the stats on whether it's worth the memory hit to initialize these collections with a size equal to `headers.length()` and potentially leave some empty space or whether the cost and infrequency of it having to double the underlying storage was better.