fixed cons, again :/, implemented DO-LOOP, conway switched from recursive to iterative with global state :/