I'm not sure why this assume is there. If I read this code all right we just need the element that comes right before ourself? Is that right? If so we could probably provide a structure/accessor for that. Seems useful.