Move toCBuffer3 into visitWithMask
Replace infinite recursion bug with assert
Rename toCBuffer2 to toBufferShort
Remove unused constructor args
Move Type::toCBuffer into a free function