Rustでの 抽象化 3パターンについて