Gave type-decls a nicer internal representation and cleaned up its behavior regarding empty type modifiers