処理を移譲しているのは、バイナリサイズやコンパイル時間増大の回避のためである。型の種類分だけ作られ、それぞれについて最適化やバイナリ生成が行われることになるだろう。このようなコード重複は無駄であるため、本命の処理を使う前に型を合流させてしまうのである。コンパイル時間の短縮と生成されるバイナリの縮小に貢献することが知られている。サイズ不定でも構わないと明示する必要がある。実装していないからである[8]。受け付ける型と内部の型が一致しない場合、こういう面倒が増えるので多少の覚悟が必要である。