(bind-func copy_h:[List{!a}*,List{!a}*]* (lambda (lst) (let ((orig lst) (cpy null)) (while (not (null? orig)) (set! cpy (cons_h (car orig) cpy)) (set! orig (cdr orig))) (reverse cpy))))