 import Foundation
 
 /// Angle is a base protocol for typed angles to prevent unintentianal mixing of Angles and Degrees
-public protocol Angle : Comparable, FloatLiteralConvertible, IntegerLiteralConvertible, SignedNumberType, AbsoluteValuable {
+public protocol Angle : Comparable, FloatLiteralConvertible, IntegerLiteralConvertible, SignedNumberType {
     var value :Double { set get }
     static var Unit :Self { get }
     init(_ value: Double)

    public init(_ value: Double) {
        self.value = value
    }
    
    public static func abs(x: Radian) -> Radian {
        return abs_a(x)
    }
}

extension Radian: FloatLiteralConvertible {


public func - <A :Angle> (lhs: A, rhs: A) -> A {
    return A(lhs.value - rhs.value)
}

public func < <A :Angle> (lhs: A, rhs: A) -> Bool {
