private TypeDef getTypeDecl(TypeDeclaration interfaceDeclaration, DeclSequence decls) {
List<Definition> definitions = new LinkedList<>();
for (Declaration decl : decls.getDeclIterator()) {
if (decl instanceof DefDeclaration) {
definitions.add(new Def(decl.getName(), getParams(((DefDeclaration) decl).getArgBindings()), null));
} else if (decl instanceof ValDeclaration) {
definitions.add(new ValDef(decl.getName(), null, decl.getType()));
} else if (decl instanceof VarDeclaration) {
definitions.add(new VarDef(decl.getName(), null, decl.getType()));
} else if (decl instanceof TypeDeclaration) {