Index: src/AST/Fwd.hpp
===================================================================
--- src/AST/Fwd.hpp	(revision 2c8946b85385514ba04b2c0df6e5c5bb5f4781df)
+++ src/AST/Fwd.hpp	(revision bfcd3af76db74e3dbbed12a62295035015729a46)
@@ -133,5 +133,4 @@
 class OneType;
 class GlobalScopeType;
-class EnumAttrType;
 
 class Designation;
Index: src/AST/Pass.hpp
===================================================================
--- src/AST/Pass.hpp	(revision 2c8946b85385514ba04b2c0df6e5c5bb5f4781df)
+++ src/AST/Pass.hpp	(revision bfcd3af76db74e3dbbed12a62295035015729a46)
@@ -207,5 +207,4 @@
 	const ast::Type *             visit( const ast::UnionInstType        * ) override final;
 	const ast::Type *             visit( const ast::EnumInstType         * ) override final;
-	const ast::Type *             visit( const ast::EnumAttrType         * ) override final;
 	const ast::Type *             visit( const ast::TraitInstType        * ) override final;
 	const ast::Type *             visit( const ast::TypeInstType         * ) override final;
Index: src/AST/Pass.impl.hpp
===================================================================
--- src/AST/Pass.impl.hpp	(revision 2c8946b85385514ba04b2c0df6e5c5bb5f4781df)
+++ src/AST/Pass.impl.hpp	(revision bfcd3af76db74e3dbbed12a62295035015729a46)
@@ -1940,12 +1940,4 @@
 
 //--------------------------------------------------------------------------
-// EnumAttrType
-template< typename core_t >
-const ast::Type * ast::Pass< core_t >::visit( const ast::EnumAttrType * node ) {
-	VISIT_START( node );
-	VISIT_END( Type, node );
-}
-
-//--------------------------------------------------------------------------
 // TraitInstType
 template< typename core_t >
Index: src/AST/Print.cpp
===================================================================
--- src/AST/Print.cpp	(revision 2c8946b85385514ba04b2c0df6e5c5bb5f4781df)
+++ src/AST/Print.cpp	(revision bfcd3af76db74e3dbbed12a62295035015729a46)
@@ -1576,18 +1576,4 @@
 	}
 
-	virtual const ast::Type * visit( const ast::EnumAttrType * node ) override final {
-		preprint( node );
-		os << "enum attr ";
-		if ( node->attr == ast::EnumAttribute::Label ) {
-			os << "Label ";
-		} else if ( node->attr == ast::EnumAttribute::Value ) {
-			os << "Value ";
-		} else {
-			os << "Posn ";
-		}
-		(*(node->instance)).accept( *this );
-		return node;
-	}
-
 	virtual const ast::Type * visit( const ast::TraitInstType * node ) override final {
 		preprint( node );
Index: src/AST/Type.hpp
===================================================================
--- src/AST/Type.hpp	(revision 2c8946b85385514ba04b2c0df6e5c5bb5f4781df)
+++ src/AST/Type.hpp	(revision bfcd3af76db74e3dbbed12a62295035015729a46)
@@ -319,20 +319,4 @@
 using EnumInstType = SueInstType<EnumDecl>;
 
-class EnumAttrType final : public Type {
-public:
-	readonly<EnumInstType> instance;
-	EnumAttribute attr;
-	const Type * accept( Visitor & v ) const override { return v.visit( this ); }
-	EnumAttrType( const EnumInstType * instance, EnumAttribute attr = EnumAttribute::Posn )
-		: instance(instance), attr(attr) {}
-
-	bool match( const ast::EnumAttrType * other) const {
-		return instance->base->name == other->instance->base->name && attr == other->attr;
-	}
-private:
-	EnumAttrType * clone() const override { return new EnumAttrType{ *this }; }
-	MUTATE_FRIEND
-};
-
 /// An instance of a trait type.
 class TraitInstType final : public BaseInstType {
Index: src/AST/Visitor.hpp
===================================================================
--- src/AST/Visitor.hpp	(revision 2c8946b85385514ba04b2c0df6e5c5bb5f4781df)
+++ src/AST/Visitor.hpp	(revision bfcd3af76db74e3dbbed12a62295035015729a46)
@@ -119,5 +119,4 @@
     virtual const ast::Type *             visit( const ast::OneType              * ) = 0;
     virtual const ast::Type *             visit( const ast::GlobalScopeType      * ) = 0;
-    virtual const ast::Type *             visit( const ast::EnumAttrType         * ) = 0;
     virtual const ast::Designation *      visit( const ast::Designation          * ) = 0;
     virtual const ast::Init *             visit( const ast::SingleInit           * ) = 0;
