 		}
 	}
 }
+
+extension VersionSpecifier: VersionType {}
 
 private func intersection(#atLeast: Version, #compatibleWith: Version) -> VersionSpecifier? {
 	if atLeast.major > compatibleWith.major {

				return
			}

			switch (Dependency.fromScanner(scanner)) {
			case let .Success(dep):
				cartfile.dependencies.append(dep.unbox)


		return success(self(major: major!, minor: minor ?? 0, patch: patch ?? 0))
	}
}

extension Version: VersionType {}

public func <(lhs: Version, rhs: Version) -> Bool {
    return lexicographicalCompare(lhs.components, rhs.components)
