In fact, why not just call RlistAppendScalar(&liststart, sp); and cut out the copy via node ?