public virtual string GetTypeName(Type type) { if (type == null) return "_"; string name = (string) builtinTypeNames[type]; if (name != null) return name; return type.Name; }