diff --git a/src/main/java/de/tla2b/types/AbstractHasFollowers.java b/src/main/java/de/tla2b/types/AbstractHasFollowers.java
index 5a91851128a3558949687258456adeec2298d7f8..057ee586ceda6de50881b959bb90107703415644 100644
--- a/src/main/java/de/tla2b/types/AbstractHasFollowers.java
+++ b/src/main/java/de/tla2b/types/AbstractHasFollowers.java
@@ -7,11 +7,10 @@ import java.util.List;
 
 public abstract class AbstractHasFollowers extends TLAType {
 
-	public List<Object> followers;
+	private List<Object> followers = new ArrayList<>();
 
 	public AbstractHasFollowers(int t) {
 		super(t);
-		followers = new ArrayList<>();
 	}
 
 	public List<Object> getFollowers() {
@@ -20,17 +19,8 @@ public abstract class AbstractHasFollowers extends TLAType {
 
 	public void addFollower(Object o) {
 		// only (partial) untyped types need follower
-		if (this.followers != null) {
-			for (Object follower : followers) {
-				if (follower == o)
-					return;
-			}
+		if (followers != null && !followers.contains(o))
 			followers.add(o);
-		}
-	}
-
-	public void deleteFollower(Object o) {
-		followers.remove(o);
 	}
 
 	public void deleteFollowers() {
diff --git a/src/main/java/de/tla2b/types/IType.java b/src/main/java/de/tla2b/types/IType.java
index b394c0dc5cbd736525ed7da2905d6517c589ac35..340817519d93be3b4e710d83db63c32978051c35 100644
--- a/src/main/java/de/tla2b/types/IType.java
+++ b/src/main/java/de/tla2b/types/IType.java
@@ -18,6 +18,5 @@ public interface IType {
 	int TUPLE_OR_FUNCTION = 12;
 	int REAL = 13;
 
-
 	void apply(TypeVisitorInterface visitor);
 }
diff --git a/src/main/java/de/tla2b/types/SetType.java b/src/main/java/de/tla2b/types/SetType.java
index 4b939773186ce29a0160e32c1a1e84733474e294..c1b36c204922bca77a2342651347a585ffa0492d 100644
--- a/src/main/java/de/tla2b/types/SetType.java
+++ b/src/main/java/de/tla2b/types/SetType.java
@@ -20,7 +20,7 @@ public class SetType extends AbstractHasFollowers {
 	public void setSubType(TLAType t) {
 		// if (subType instanceof AbstractHasFollowers) {
 		// // delete old reference
-		// ((AbstractHasFollowers) subType).deleteFollower(this);
+		// ((AbstractHasFollowers) subType).removeFollower(this);
 		// }
 
 		if (t instanceof AbstractHasFollowers) {
@@ -77,9 +77,7 @@ public class SetType extends AbstractHasFollowers {
 
 	@Override
 	public String toString() {
-		String res = "POW(" + this.getSubType() + ")";
-
-		return res;
+		return "POW(" + this.getSubType() + ")";
 	}
 
 	@Override
diff --git a/src/main/java/de/tla2b/types/StructOrFunctionType.java b/src/main/java/de/tla2b/types/StructOrFunctionType.java
index 7ac9f52e138a6fc0b7a2dfd992517bbb61eb57f8..89a9fbff8297967b87c37c0d18decfd1b553a0f1 100644
--- a/src/main/java/de/tla2b/types/StructOrFunctionType.java
+++ b/src/main/java/de/tla2b/types/StructOrFunctionType.java
@@ -6,11 +6,12 @@ import de.tla2b.output.TypeVisitorInterface;
 
 import java.util.Iterator;
 import java.util.LinkedHashMap;
+import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
 
 public class StructOrFunctionType extends AbstractHasFollowers {
-	private final LinkedHashMap<String, TLAType> types;
+	private final Map<String, TLAType> types;
 
 	public StructOrFunctionType(String name, TLAType type) {
 		super(STRUCT_OR_FUNCTION);
@@ -64,8 +65,7 @@ public class StructOrFunctionType extends AbstractHasFollowers {
 			StructType s = (StructType) o;
 			for (String fieldName : types.keySet()) {
 				if (s.getFields().contains(fieldName)) {
-					if (!this.types.get(fieldName)
-						.compare(s.getType(fieldName))) {
+					if (!this.types.get(fieldName).compare(s.getType(fieldName))) {
 						return false;
 					}
 				}