Add comments explaining the splitting traversal

Why it's a good idea, how it works, and what the benchmarks
say.
Nix the Splittable class; add fromFunction