Would you mind making `n_valid_features` the last argument of `node_split`? This is a secondary argument that handle special cases. We shouldn't put it in first I think.