     }
 }
 
-extension SemanticVersion: Equatable { }
+extension SemanticVersion: Comparable { }
 
 public func == (lhs: SemanticVersion, rhs: SemanticVersion) -> Bool {
     return lhs.major == rhs.major

}

public func != (lhs: SemanticVersion, rhs: SemanticVersion) -> Bool {
    return lhs.major != rhs.major
    || lhs.minor != rhs.minor
    || lhs.patch != rhs.patch
    || lhs.prereleaseBase != rhs.prereleaseBase
    || lhs.prereleaseNumber != rhs.prereleaseNumber
}

extension SemanticVersion: Comparable { }

public func > (lhs: SemanticVersion, rhs: SemanticVersion) -> Bool {
    if lhs.major > rhs.major || lhs.minor > rhs.minor || lhs.patch > rhs.patch {

}

public func < (lhs: SemanticVersion, rhs: SemanticVersion) -> Bool {
    return !(lhs >= rhs)
}

public func <= (lhs: SemanticVersion, rhs: SemanticVersion) -> Bool {
    return !(lhs > rhs)
}
