matz> perlのpackはご存知ですか?
matz> 
matz> もしご存知なら引数の順番を変えるだけです.

ああ、なるほど。perl だと変換対象をずらずら , で区切って行く所を、
配列にまとめてしまうのですね。
matz> Classのようなtemplateの型に合わないオブジェクトを与えるとそ
matz> れなりのエラー(TypeError例外)が出ます.

なる。それなりに判断して何かしてくれるのかな、と思ったのですが
でもそんな必要も(数値、文字列以外に packする必要)なさそうだから
たぶんそんな所かとは思っていましたが。