First pass of making bpt_split() return a new node. Will warn on unused-variable, somehow Clang does not want to warn on unused function call result