/// Return the greatest argument passed
func max<T : Comparable>(x: T, y: T, z: T, rest: T...) -> T
/// Return the greater of `x` and `y`
func max<T : Comparable>(x: T, y: T) -> T
/// Return the lesser of `x` and `y`
func min<T : Comparable>(x: T, y: T) -> T
/// Return the least argument passed
func min<T : Comparable>(x: T, y: T, z: T, rest: T...) -> T