   for (;;) {
     randomSeed(micros());
     gc(NULL, env);
-    Serial.print(freespace);
+    #if defined (printfreespace)
+    pint(freespace);
+    #endif
     if (BreakLevel) {
-      Serial.print(F(" : "));
-      Serial.print(BreakLevel);
+      pfstring(F(" : "));
+      pint(BreakLevel);
     }
-    Serial.print(F("> "));
+    pfstring(F("> "));
     object *line = read();
-    if (BreakLevel && line == nil) { Serial.println(); return; }
-    Serial.println();
+    if (BreakLevel && line == nil) { pln(); return; }
     if (line == (object *)KET) error(F("Unmatched right bracket"));
     push(line, GCStack);
-    printobject(eval(line,env));
+    pfl();
+    line = eval(line, env);
+    pfl();
+    printobject(line);
     pop(GCStack);
-    Serial.println();
-    Serial.println();
+    pln();
+    pln();
   }
 }
 

  while (!Serial);  // wait for Serial to initialize
  initworkspace();
  initenv();
  _end = 0xA5;
  Serial.println(F("uLisp 1.3"));
}

// Read/Evaluate/Print loop


  if (isnumber) {
    if (base == 10 && result > ((unsigned int)32767+(1-sign)/2)) {
      pln();
      error(F("Number out of range"));
    }
    return number(result*sign);
