     }
 }
 
-public protocol FixeRationalType : RationalType where Element: FixedRationalElement { }
-
-extension FixeRationalType {
+public protocol FixedRationalType : RationalType where Element: FixedRationalElement { }
+
+extension FixedRationalType {
     public static var max:Self {
         return Self(+Element.max, 1)
     }

    }
}

public typealias Rat = FixRat<Int>

extension FixRat : Codable where Element: Codable {
    public enum CodingKeys : String, CodingKey {

        self = self.truncated(width: width)
        return self
    }
    public var asIntRat:IntRat {
        let q = self.truncated(width: Int.bitWidth - 1)
        return IntRat(num:Int(q.num), den:Int(q.den))
    }
}

