public class func Package(url: String, versions: ClosedRange<Version>) -> Dependency { return Package(url: url, versions: versions.lowerBound..<versions.upperBound.successor()) }
a...b
と a..<b
の両方に対応しようとすると、 a...b => a ..< b.successor()
の変換をオーバーロードの内側でやらないといかんのか。