ダックタイピング寄りにした。それに伴う諸変更と諸変更

・atとsizeを特殊化すればstd::tuple以外でも動くようにした
・上記に伴う大規模な変更
・map追加。一番最初にやるべきだった
・foldl追加
・cons追加
・zipを任意の数で使えるよう拡張した