static private void fill_in(Type t,Table<Type> t_env){
		//fill in the unbinding NMAE type
		NAME n=null;
		if(t instanceof ARRAY){
			ARRAY tmp = (ARRAY)t;
			if(tmp.element instanceof NAME){
				n = (NAME)tmp.element;
				if(n.binding instanceof TO_FILL)
					n.binding = t_env.get(n.name);
			}
		}
		else if(t instanceof RECORD){
			RECORD tmp = (RECORD)t;
			Map<Zsymbol,Type> m = tmp.fie;
			for(Zsymbol s : m.keySet()){
				if(m.get(s) instanceof NAME){
					n = (NAME)m.get(s);
					if(n.binding instanceof TO_FILL)
						n.binding = t_env.get(n.name);
				}
			}
		}
		else if(t instanceof NAME){
			NAME tmp = (NAME)t;
			if(tmp.binding instanceof TO_FILL){
				tmp.binding = t_env.get(tmp.name);
			}
		}
	}