losing 1.2 and 1.3 compatibility, but gaining 1.6
header-map implementation