tail splitter impls need to be public.