selects x' revprefix Cons x xs Cons Cons x' revapp revprefix Cons x xs selects x Cons x' revprefix xs select Cons x xs selects x Nil xs revapp Cons x xs rest revapp xs Cons x rest selects x revprefix Nil Cons Cons x revapp revprefix Nil Nil select Nil Nil revapp Nil rest rest selects 3 Cons 2 revapp 2 select 1 Nil 0 INNERMOST