diff --git a/src/main/java/de/hhu/stups/codegenerator/generators/ImportGenerator.java b/src/main/java/de/hhu/stups/codegenerator/generators/ImportGenerator.java
index 33b19da010a8b9d75e235a6d6c83433cd0327060..06b1fbcda8a1bbf5cd443d84a7ccd655fb8a0b3b 100755
--- a/src/main/java/de/hhu/stups/codegenerator/generators/ImportGenerator.java
+++ b/src/main/java/de/hhu/stups/codegenerator/generators/ImportGenerator.java
@@ -19,6 +19,7 @@ import de.prob.parser.ast.types.IntegerType;
 import de.prob.parser.ast.types.RecordType;
 import de.prob.parser.ast.types.SetType;
 import de.prob.parser.ast.types.StringType;
+import de.prob.parser.ast.types.UntypedType;
 
 import org.stringtemplate.v4.ST;
 import org.stringtemplate.v4.STGroup;
@@ -86,7 +87,8 @@ public class ImportGenerator {
             importBFreetype();
             importFreetype((FreetypeType) type);
             importBBoolean();
-        } else {
+        } else if (type != null && !(type instanceof UntypedType)) {
+            // null and untyped slip through sometimes, just ignore those
             throw new IllegalArgumentException("Unsupported type: " + type);
         }
     }
diff --git a/src/main/resources/de/hhu/stups/codegenerator/JavaTemplate.stg b/src/main/resources/de/hhu/stups/codegenerator/JavaTemplate.stg
index 690cd64939710f55fc74aea87fe1ad09f484d7fc..51ab4188545b4809c478cc4e37f4873b1d7f5e46 100644
--- a/src/main/resources/de/hhu/stups/codegenerator/JavaTemplate.stg
+++ b/src/main/resources/de/hhu/stups/codegenerator/JavaTemplate.stg
@@ -599,7 +599,7 @@ public static abstract class <name> extends BFreetype {
     }
 
     public final BBoolean unequal(<name> o) {
-        return this.equal(o).not();
+        return new BBoolean(!this.equals(o));
     }
 
     @Override
@@ -612,6 +612,41 @@ public static abstract class <name> extends BFreetype {
     public abstract String toString();
 
 }
+
+public static final class <name>Set implements BObject {
+
+    public static final <name>Set INSTANCE = new <name>Set();
+
+    private <name>Set() {
+    }
+
+    public BBoolean elementOf(<name> o) {
+        return new BBoolean(true);
+    }
+
+    public BBoolean equal(<name>Set o) {
+        return new BBoolean(true);
+    }
+
+    public BBoolean unequal(<name>Set o) {
+        return new BBoolean(false);
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        return o instanceof <name>Set;
+    }
+
+    @Override
+    public int hashCode() {
+        return <name>Set.class.hashCode();
+    }
+
+    @Override
+    public String toString() {
+        return "<name>";
+    }
+}
 >>
 
 freetype_element_declaration(name,freetype) ::= <<
@@ -757,7 +792,7 @@ freetype_import() ::= <<
 >>
 
 freetype_call(name) ::= <<
-<name>
+<name>Set.INSTANCE
 >>
 
 freetype_element_call(name) ::= <<