すみませんが、質問です。タプルの使い方が良く分かりません。

タプルは、LISPの多値に対応するものだと思うのですが、ある関数の戻り値が
タプルの場合、それを受け取れる関数は、引数がタプルである必要があります
(よね?)。多引数の関数に汎用的に与えることはできません。2つ組みのタ
プルの場合だけは、curryとuncurryがありますが。

ということで、多値の代用としてのタプルの使い方の定石のようなものがあっ
たら、教えていただきたいのです。

ちなみにPythonにもタプルがありますが、こちらは、関数に複数の引数を与え
る代わりに、タプルを与えることができます。* という演算子があって、
a = (1, 2, 3)
(lambda x y z: x + y + z)(*a) => 6
という書き方ができます。
再代入のできる手続き型言語とは、だいぶ事情は違うのでしょうが。