I thought the same thing eventually. It now concatenates the two merkleTree hashes into utils.dsha256. 

When I initially wrote it, I was essentially porting the awful c++ of bitcoind to javascript (to clarify: I'm not sure if I dislike the bitcoind codebase or just C++ in general), so it was confusing to say the least. The fuction looked too complex to be handled with just utils.dsha256. I was wrong.