// revCons appends acc to the head of curr, where acc is in reverse order. // acc must never be nil, curr can be. func revCons(acc, curr ps.List) ps.List { if curr == nil { return acc.Reverse() } for !acc.IsNil() { acc, curr = acc.Tail(), curr.Cons(acc.Head()) } return curr }