 	/// - Parameter than: A model to compare the current device against.
 	/// - Returns: True if the device is newer or the same, and false if it's older.
 	/// - Throws: An error when comparing incompatible families, product lines or unknown products.
-	public func isNewerOrEqual(than compared: Device) throws -> Bool {
+	func isNewerOrEqual(than compared: Device) throws -> Bool {
 		return try Device.compare(lhs: self, rhs: compared, sign: >=)
 	}
 

	/// - Parameter than: A model to compare the current device against.
	/// - Returns: True if the device is older, and false if it's newer or the same.
	/// - Throws: An error when comparing incompatible families, product lines or unknown products.
	public func isOlder(than compared: Device) throws -> Bool {
		return try Device.compare(lhs: self, rhs: compared, sign: <)
	}

	private static func compare(lhs: Device, rhs: Device, sign: ((RawDevice, RawDevice) -> Bool)) throws -> Bool {
		if case .unknown(_) = lhs {
			throw ThingyError.IncomparableUnknownProduct
		}

		if case .unknown(_) = rhs {
			throw ThingyError.IncomparableUnknownProduct
		}


	/// - Parameter to: A model to compare the current device against.
	/// - Returns: True if the device is the same, and false otherwise.
	/// - Throws: An error when comparing incompatible families, product lines or unknown products.
	func isEqual(to compared: Device) throws -> Bool {
		return try Device.compare(lhs: self, rhs: compared, sign: ==)
	}

