     
     static var augmented: IntervalQuality.EnumKind { get }
     
+    static func intervalQuality(fromDirectionDifference difference: Float) -> EnumKind
+    
     static func directionDifference(fromPitchSpellingDyad pitchSpellingDyad: PitchSpellingDyad)
         -> Float
     

        }
    }
    
    /// Third interval family.
    public class Third: EnumFamily, ImperfectIntervalQualityType {
        
        /// diminished Third interval.
        public static let diminished: EnumKind = .diminishedThird
        
        /// minor Third interval.
        public static let minor: EnumKind = .minorThird
        
        /// major Third interval.
        public static let major: EnumKind = .majorThird
        
        /// augmented Third interval.
        public static let augmented: EnumKind = .augmentedThird
        
        public override class var members: [EnumKind] { return imperfectMembers }
        

    static var imperfectMembers: [IntervalQuality.EnumKind] {
        return [major, minor, diminished, augmented]
    }
    
    static func intervalQuality(fromDirectionDifference difference: Float)
        -> IntervalQuality.EnumKind
    {
        switch difference {
        case -2: return diminished
        case -1: return minor
        case +0: return major
        case +1: return augmented
        default: fatalError("Such an interval couldn't possibly exist")
        }
    }
}

/**
