     env = cdr(env);
   }
   return nil;
+}
+
+bool boundp (object *var, object *env) {
+  symbol_t varname = var->name;
+  if (value(varname, env) != NULL) return true;
+  if (value(varname, GlobalEnv) != NULL) return true;
+  return false;
 }
 
 object *findvalue (object *var, object *env) {

  initworkspace();
  initenv();
  initsleep();
  pfstring(PSTR("uLisp 3.3 "), pserial); pln(pserial);
}

// Read/Evaluate/Print loop

  return pfun;
}

// Check pins - these are board-specific not processor-specific

void checkanalogread (int pin) {
#if defined(__AVR_ATmega328P__)
