It occurs to me that there's another problem with this code: your use of t as a variable name. This is outright forbidden globally:
arc> (= t (table))
Error: "Can't rebind t"
. Though it does work locally, it is nevertheless inadvisable: t is the global "true" value (equivalent to 't). It's probably better to use tb as the name for your table.
I also had a problem with tab and also think that it should be fixed.
Btw what do I need to load to get the base language without any web stuff. Are there an official "base" part? As.scm loads all the libraries for me. Do I need to load arc.arc only to get the base language.