tuple の定義変更。 Tuple は List としても扱えるようにするが、 List とは別の Functor を持つ。また、 tuple の要素にアクセスする場合は、他の list と同じように first second などを使う。
Tuple にいろいろ定義
n 個のタプルを返す関数を即座に作れる tuplen マクロを作った。 (tuplen 3 a b c) のように使う。