std::copyやstd::swapを、自分で定義した型でオーバーロード
する時、オーバーロード関数はstdに入れちゃう?Koenig lookup
させる?そもそもオーバーロードなんてしない?