rev(Node xs):
result = nil;
while (xs != nil):
xs = xs.next();
result = xs.set_next(result);
xs = xs.next(); // uh oh
return result;