 			min.y + Int(arc4random_uniform(UInt32(max.y - min.y + 1))),
 			min.z + Int(arc4random_uniform(UInt32(max.z - min.z + 1)))
 		)
+	}
+	
+	
+	// MARK: `asTuple` Functionality
+	
+	public var asTuple:(x:Int,y:Int,z:Int) {
+		return ( self.x, self.y, self.z )
 	}
 }
 

	/// - Precondition: `array` must have exactly three elements.
	public init(array:[Int]) {
		precondition(array.count == 3)
		(self.x, self.y, self.z) = ( array[0], array[1], array[2] )
	}
	
	

	
	/// Initialize to the zero vector.
	public init() {
		self.init(0)
	}
	
	/// Initialize a vector with the specified elements.
	public init(_ x:Int, _ y:Int, _ z:Int) {
		self.init(tuple: ( x, y, z ))
	}
	
	/// Initialize a vector with the specified elements.
	public init(x:Int, y:Int, z:Int) {
		self.init(tuple: ( x, y, z ))
	}
	
	/// Initialize to a vector with all elements equal to `scalar`.
	public init(_ scalar:Int) {
		self.init(tuple: ( scalar, scalar, scalar ))
	}
	
	/// Initialize to a vector with elements taken from `array`.
