Is there a reason why a TIntByteHashMap isnt directly passed in? I'm thinking about the cost of having to build a new byte hash map each time combine is called, which may potentially be a lot. Also, does the function signature need to take objects? Any other types other than TIntByteMaps will throw cast exceptions. Not a huge deal.