 const char string14[] PROGMEM = "pop";
 const char string15[] PROGMEM = "incf";
 const char string16[] PROGMEM = "decf";
-const char string17[] PROGMEM = "dolist";
-const char string18[] PROGMEM = "dotimes";
-const char string19[] PROGMEM = "for-millis";
-const char string20[] PROGMEM = "with-i2c";
-const char string21[] PROGMEM = "with-spi";
-const char string22[] PROGMEM = "tail_forms";
-const char string23[] PROGMEM = "progn";
-const char string24[] PROGMEM = "return";
-const char string25[] PROGMEM = "if";
-const char string26[] PROGMEM = "cond";
-const char string27[] PROGMEM = "when";
-const char string28[] PROGMEM = "unless";
-const char string29[] PROGMEM = "and";
-const char string30[] PROGMEM = "or";
-const char string31[] PROGMEM = "functions";
-const char string32[] PROGMEM = "not";
-const char string33[] PROGMEM = "null";
-const char string34[] PROGMEM = "cons";
-const char string35[] PROGMEM = "atom";
-const char string36[] PROGMEM = "listp";
-const char string37[] PROGMEM = "consp";
-const char string38[] PROGMEM = "numberp";
-const char string39[] PROGMEM = "streamp";
-const char string40[] PROGMEM = "eq";
-const char string41[] PROGMEM = "car";
-const char string42[] PROGMEM = "first";
-const char string43[] PROGMEM = "cdr";
-const char string44[] PROGMEM = "rest";
-const char string45[] PROGMEM = "caar";
-const char string46[] PROGMEM = "cadr";
-const char string47[] PROGMEM = "second";
-const char string48[] PROGMEM = "cdar";
-const char string49[] PROGMEM = "cddr";
-const char string50[] PROGMEM = "caaar";
-const char string51[] PROGMEM = "caadr";
-const char string52[] PROGMEM = "cadar";
-const char string53[] PROGMEM = "caddr";
-const char string54[] PROGMEM = "third";
-const char string55[] PROGMEM = "cdaar";
-const char string56[] PROGMEM = "cdadr";
-const char string57[] PROGMEM = "cddar";
-const char string58[] PROGMEM = "cdddr";
-const char string59[] PROGMEM = "length";
-const char string60[] PROGMEM = "list";
-const char string61[] PROGMEM = "reverse";
-const char string62[] PROGMEM = "nth";
-const char string63[] PROGMEM = "assoc";
-const char string64[] PROGMEM = "member";
-const char string65[] PROGMEM = "apply";
-const char string66[] PROGMEM = "funcall";
-const char string67[] PROGMEM = "append";
-const char string68[] PROGMEM = "mapc";
-const char string69[] PROGMEM = "mapcar";
-const char string70[] PROGMEM = "+";
-const char string71[] PROGMEM = "-";
-const char string72[] PROGMEM = "*";
-const char string73[] PROGMEM = "/";
-const char string74[] PROGMEM = "mod";
-const char string75[] PROGMEM = "1+";
-const char string76[] PROGMEM = "1-";
-const char string77[] PROGMEM = "abs";
-const char string78[] PROGMEM = "random";
-const char string79[] PROGMEM = "max";
-const char string80[] PROGMEM = "min";
-const char string81[] PROGMEM = "=";
-const char string82[] PROGMEM = "<";
-const char string83[] PROGMEM = "<=";
-const char string84[] PROGMEM = ">";
-const char string85[] PROGMEM = ">=";
-const char string86[] PROGMEM = "/=";
-const char string87[] PROGMEM = "plusp";
-const char string88[] PROGMEM = "minusp";
-const char string89[] PROGMEM = "zerop";
-const char string90[] PROGMEM = "oddp";
-const char string91[] PROGMEM = "evenp";
-const char string92[] PROGMEM = "logand";
-const char string93[] PROGMEM = "logior";
-const char string94[] PROGMEM = "logxor";
-const char string95[] PROGMEM = "lognot";
-const char string96[] PROGMEM = "ash";
-const char string97[] PROGMEM = "logbitp";
-const char string98[] PROGMEM = "read";
-const char string99[] PROGMEM = "eval";
-const char string100[] PROGMEM = "globals";
-const char string101[] PROGMEM = "makunbound";
-const char string102[] PROGMEM = "break";
-const char string103[] PROGMEM = "print";
-const char string104[] PROGMEM = "princ";
-const char string105[] PROGMEM = "write-byte";
-const char string106[] PROGMEM = "read-byte";
-const char string107[] PROGMEM = "restart-i2c";
-const char string108[] PROGMEM = "gc";
-const char string109[] PROGMEM = "save-image";
-const char string110[] PROGMEM = "load-image";
-const char string111[] PROGMEM = "pinmode";
-const char string112[] PROGMEM = "digitalread";
-const char string113[] PROGMEM = "digitalwrite";
-const char string114[] PROGMEM = "analogread";
-const char string115[] PROGMEM = "analogwrite";
-const char string116[] PROGMEM = "delay";
-const char string117[] PROGMEM = "millis";
-const char string118[] PROGMEM = "note";
+const char string17[] PROGMEM = "setf";
+const char string18[] PROGMEM = "dolist";
+const char string19[] PROGMEM = "dotimes";
+const char string20[] PROGMEM = "for-millis";
+const char string21[] PROGMEM = "with-i2c";
+const char string22[] PROGMEM = "with-spi";
+const char string23[] PROGMEM = "tail_forms";
+const char string24[] PROGMEM = "progn";
+const char string25[] PROGMEM = "return";
+const char string26[] PROGMEM = "if";
+const char string27[] PROGMEM = "cond";
+const char string28[] PROGMEM = "when";
+const char string29[] PROGMEM = "unless";
+const char string30[] PROGMEM = "and";
+const char string31[] PROGMEM = "or";
+const char string32[] PROGMEM = "functions";
+const char string33[] PROGMEM = "not";
+const char string34[] PROGMEM = "null";
+const char string35[] PROGMEM = "cons";
+const char string36[] PROGMEM = "atom";
+const char string37[] PROGMEM = "listp";
+const char string38[] PROGMEM = "consp";
+const char string39[] PROGMEM = "numberp";
+const char string40[] PROGMEM = "streamp";
+const char string41[] PROGMEM = "eq";
+const char string42[] PROGMEM = "car";
+const char string43[] PROGMEM = "first";
+const char string44[] PROGMEM = "cdr";
+const char string45[] PROGMEM = "rest";
+const char string46[] PROGMEM = "caar";
+const char string47[] PROGMEM = "cadr";
+const char string48[] PROGMEM = "second";
+const char string49[] PROGMEM = "cdar";
+const char string50[] PROGMEM = "cddr";
+const char string51[] PROGMEM = "caaar";
+const char string52[] PROGMEM = "caadr";
+const char string53[] PROGMEM = "cadar";
+const char string54[] PROGMEM = "caddr";
+const char string55[] PROGMEM = "third";
+const char string56[] PROGMEM = "cdaar";
+const char string57[] PROGMEM = "cdadr";
+const char string58[] PROGMEM = "cddar";
+const char string59[] PROGMEM = "cdddr";
+const char string60[] PROGMEM = "length";
+const char string61[] PROGMEM = "list";
+const char string62[] PROGMEM = "reverse";
+const char string63[] PROGMEM = "nth";
+const char string64[] PROGMEM = "assoc";
+const char string65[] PROGMEM = "member";
+const char string66[] PROGMEM = "apply";
+const char string67[] PROGMEM = "funcall";
+const char string68[] PROGMEM = "append";
+const char string69[] PROGMEM = "mapc";
+const char string70[] PROGMEM = "mapcar";
+const char string71[] PROGMEM = "+";
+const char string72[] PROGMEM = "-";
+const char string73[] PROGMEM = "*";
+const char string74[] PROGMEM = "/";
+const char string75[] PROGMEM = "mod";
+const char string76[] PROGMEM = "1+";
+const char string77[] PROGMEM = "1-";
+const char string78[] PROGMEM = "abs";
+const char string79[] PROGMEM = "random";
+const char string80[] PROGMEM = "max";
+const char string81[] PROGMEM = "min";
+const char string82[] PROGMEM = "=";
+const char string83[] PROGMEM = "<";
+const char string84[] PROGMEM = "<=";
+const char string85[] PROGMEM = ">";
+const char string86[] PROGMEM = ">=";
+const char string87[] PROGMEM = "/=";
+const char string88[] PROGMEM = "plusp";
+const char string89[] PROGMEM = "minusp";
+const char string90[] PROGMEM = "zerop";
+const char string91[] PROGMEM = "oddp";
+const char string92[] PROGMEM = "evenp";
+const char string93[] PROGMEM = "logand";
+const char string94[] PROGMEM = "logior";
+const char string95[] PROGMEM = "logxor";
+const char string96[] PROGMEM = "lognot";
+const char string97[] PROGMEM = "ash";
+const char string98[] PROGMEM = "logbitp";
+const char string99[] PROGMEM = "read";
+const char string100[] PROGMEM = "eval";
+const char string101[] PROGMEM = "globals";
+const char string102[] PROGMEM = "locals";
+const char string103[] PROGMEM = "makunbound";
+const char string104[] PROGMEM = "break";
+const char string105[] PROGMEM = "print";
+const char string106[] PROGMEM = "princ";
+const char string107[] PROGMEM = "write-byte";
+const char string108[] PROGMEM = "read-byte";
+const char string109[] PROGMEM = "restart-i2c";
+const char string110[] PROGMEM = "gc";
+const char string111[] PROGMEM = "save-image";
+const char string112[] PROGMEM = "load-image";
+const char string113[] PROGMEM = "pinmode";
+const char string114[] PROGMEM = "digitalread";
+const char string115[] PROGMEM = "digitalwrite";
+const char string116[] PROGMEM = "analogread";
+const char string117[] PROGMEM = "analogwrite";
+const char string118[] PROGMEM = "delay";
+const char string119[] PROGMEM = "millis";
+const char string120[] PROGMEM = "note";
 
 const tbl_entry_t lookup_table[] PROGMEM = {
   { string0, NULL, NIL, NIL },

  if (params != NULL) {
    int d = integer(eval(first(params), env));
    if (d<1 || d>7) error(F("'with-spi' invalid divider"));
    if (d == 7) SPI.setClockDivider(3);
    else if (d & 1) SPI.setClockDivider((d>>1) + 4);
    else SPI.setClockDivider((d>>1) - 1);
    params = cdr(params);
    if (params != NULL) {
      SPI.setBitOrder(eval(first(params), env) == NULL);
      params = cdr(params);
      if (params != NULL) SPI.setDataMode(integer(eval(first(params), env)));
    }
  }
  pinMode(pin, OUTPUT);
  digitalWrite(pin, LOW);
  object *forms = cdr(args);
  object *result = eval(tf_progn(forms,env), env);
  digitalWrite(pin, HIGH);


// Insert your own function definitions here


// Built-in procedure names - stored in PROGMEM

const char string0[] PROGMEM = "symbols";
