Revise unfold to use the more typical unspool approach of returning a pair