On the other hand, it seems to slow down normal list operations somewhat, about 20%
hmmm, since since most Arc lists are now built out of mpairs in this hack, I wonder if it would be any faster to test for mpair's first:
(xdef car (lambda (x) (cond ((mpair? x) (mcar x)) ((pair? x) (car x)) ...