if (n == null)
throw new IllegalArgumentException(String.format(
"undefined or ambiguous name at line %d: %s", t.beginLine, t.image));
if (n.isBuiltin()) {
Builtin b = (Builtin) n;
if (n.efqname(this).equals("EtchDate")) return b.className();
if (n.efqname(this).equals("EtchList")) return b.className()+"<EtchObjectPtr> ";
if (n.efqname(this).equals("EtchHashTable")) return b.className()+"<EtchObjectPtr, EtchObjectPtr> ";
if (n.efqname(this).equals("EtchHashSet")) return b.className()+"<EtchObjectPtr> ";
throw new IllegalArgumentException(String.format(
"unable to find correct Etch data type for type at line %d: %s", t.beginLine, n.efqname(this)));