   (void) env;
   int n = integer(first(args));
   object *list = second(args);
-  if (!listp(list)) error(F("'nth' second argument is not a list"));
+  if (!listp(list)) error(PSTR("'nth' second argument is not a list"));
   while (list != NULL) {
     if (n == 0) return car(list);
     list = cdr(list);

  unsigned long start = micros();
  int initial = Freespace;
  gc(obj, env);
  pfstring(F("Space: "));
  pint(Freespace - initial);
  pfstring(F(" bytes, Time: "));
  pint(micros() - start);
  pfstring(F(" uS\r"));
  return nil;
}


object *sp_defun (object *args, object *env) {
  (void) env;
  object *var = first(args);
  if (var->type != SYMBOL) error2(var, PSTR("is not a symbol"));
  object *val = cons(symbol(LAMBDA), cdr(args));
  object *pair = value(var->name,GlobalEnv);
  if (pair != NULL) { cdr(pair) = val; return var; }
