It works here in clm-3 if you substitute all the checks for the various envelopes down in run with (env? envelope), ie. (if (or (env? degree-env) (env? distance-env)) instead of plain (if (or degree-env distance-env) etc. -anders