Rewrote Split() to use new SampleReduce() and Derive()
Rewrote Split() to use new SampleReduce() and Derive()

A squash of 5 commits.

cnerger/wnd-charm,cnerger/wnd-charm,colettace/wnd-charm,cnerger/wnd-charm,cnerger/wnd-charm,colettace/wnd-charm,cnerger/wnd-charm,colettace/wnd-charm,colettace/wnd-charm,colettace/wnd-charm,cnerger/wnd-charm,colettace/wnd-charm