 #define BUFFERSIZE 18
 
 #if defined(__AVR_ATmega328P__)
-#define WORKSPACESIZE 314-SDSIZE        /* Cells (4*bytes) */
+#define WORKSPACESIZE 315-SDSIZE        /* Cells (4*bytes) */
 #define IMAGEDATASIZE 254               /* Cells */
 #define SYMBOLTABLESIZE BUFFERSIZE      /* Bytes - no long symbols */
 

#define push(x, y)         ((y) = cons((x),(y)))
#define pop(y)             ((y) = cdr(y))

#define numberp(x)         ((x)->type == NUMBER)
#define symbolp(x)         ((x)->type == SYMBOL)
#define stringp(x)         ((x)->type == STRING)
#define characterp(x)      ((x)->type == CHARACTER)
#define streamp(x)         ((x)->type == STREAM)

#define mark(x)            (car(x) = (object *)(((uintptr_t)(car(x))) | MARKBIT))
#define unmark(x)          (car(x) = (object *)(((uintptr_t)(car(x))) & ~MARKBIT))


object *fn_numberp (object *args, object *env) {
  (void) env;
  object *arg = first(args);
  return numberp(arg) ? tee : nil;
}

object *fn_symbolp (object *args, object *env) {
  (void) env;
  object *arg = first(args);
  return symbolp(arg) ? tee : nil;
}

object *fn_streamp (object *args, object *env) {
  (void) env;
  object *arg = first(args);
  return streamp(arg) ? tee : nil;
}

object *fn_eq (object *args, object *env) {
