the make_split_fun documentation says that vals and labels are mandatory arguments for preprocessing functions, and they are, as (unlike .spl_context they are unconditionally passed to the function by do_split, which invokes the split function).
The issue is that none of the calls to do_split actually specify these arguments, which means that they are always the default, which is NULL for both vals and labels.
We should probably remove these arguments to simplify the (already fairly complex) process of creating custom split functions.
Not required for upcoming/in-process 0.6.13 release