sbcl is picky about the step variable -- I complained about it a long time ago, and was told that it was a feature. Here's an even better sbcl-ism: The value 0.0 is not of type (OR (SINGLE-FLOAT (0.0)) (DOUBLE-FLOAT (0.0d0)) (RATIONAL (0))) which happens in cmn!