Implementations of 3 flavours of mergesort