public void addFV(Type dt, List<Type> fv) {
        List<Type> dtfv = dt.fv();
        List<Type> newFv = new ArrayList<Type>();
        outer:
        for(Type v : dtfv) {
            for(Type ve : fv) {
                if(ve.cons.equals(v.cons)) {
                    continue outer;
                }
            }
            newFv.add(v);
        }
        fv.addAll(newFv);
    }