    "A reference to a function. The type arguments encode
     the function return type and parameter types. The
     parameter types are typically represented as a tuple
     type. For example, the type of the function reference
     `plus<Float>` is:

         Callable<Float,[Float,Float]>

     which we usually abbreviate `Float(Float,Float)`. 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);

     This interface may not be implemented by user code."
    see (`class Tuple`)
    shared interface Callable<out Return, in Arguments>
            given Arguments satisfies Anything[] {}