cas semantics changed as needed for sbcl. tests pass.