extend benchmark to use two inherited attributes
more efficient product of inherited attributes

It uses mergeWithKey instead of unionWith (and three applications of
map).