#include "wscm.h" O listreverse(O list) { O prev = NIL; O curr = list; O next; while (curr != NIL) { C *c = uncons(curr); next = c->cdr; c->cdr = prev; prev = curr; curr = next; } return prev; }