"A reference to a function. The type arguments encode the [[return type|Return]] of the function along with its [[parameter types|Arguments]]. The parameter types are represented by a tuple type. Functions declared `void` are considered to have the return type `Anything`. For example, the type of the anonymous function `(Float x, Integer y) => x^y+1` is: Callable<Float, [Float,Integer]> which we usually abbreviate to `Float(Float,Integer)`. Likewise, the type of the function reference `plus<Float>` to the function [[plus]] is: Callable<Float, [Float,Float]> which we abbreviate as `Float(Float,Float)`. A variadic function is represented using an unterminated tuple type. For example, the type of the function reference `concatenate<Object>` to the function [[concatenate]] is: Callable<Object[], [{Object*}*]> which we usually abbreviate `Object({Object*}*)`. A function with defaulted parameters is represented using a union type. For example, the type of the method reference `process.writeLine` to the method [[process.writeLine]] is: Callable<Anything, [String]|[]> which we usually abbreviate `Anything(String=)`. Finally, any type of form `Callable<X,Y>` may be abbreviated to `X(*Y)`. Any instance of `Callable` may be _invoked_ by supplying a positional argument list: Float(Float,Float) add = plus<Float>; value four = add(2.0, 2.0); or by supplying a tuple containing the arguments: Float(Float,Float) add = plus<Float>; [Float,Float] twoAndTwo = [2.0, 2.0]; value four = add(*twoAndTwo); The type of the tuple must be assignable to the type argument of `Arguments`. There is no reasonable and computationally decidable definition of [[value equality|Object.equals]] for a function reference. Therefore, the `equals()` method of an instance of `Callable` always returns `false`, and `x==y` always evaluates to `false` for any two function references `x` and `y`. This interface may not be implemented by user-written code." see (`class Tuple`) tagged("Functions") shared native interface Callable<out Return, in Arguments> given Arguments satisfies Anything[] {}