移せる事の保証にどの程度の強さを求めるかによるわな
厳密に保証したかったらそれこそ両者のデータ構造同士がisomorphicであるみたいな強い制約が要求されるし
flattenみたいな形でよければ元がFoldableであればfoldでいいわけだし