Currently, we can define a function using
def update(k1: K1, k2: K2, ... kn: KN, v: V) = ...
Then we can use this as
this(k1, k2, …, kn) = v
as a syntactic sugar.
However, for some type (e.g. NdArray: n-dimensional arrays), the number of keys is not a constant number: it may be changed. I propose that we add the following declaration:
def update(ks: K*)(v: V) = ...
And if an update method with such shape is declared, the syntactic sugar
this(k1, k2, k3, ...) = v
is also allowed.