Rustで抽象オブジェクト作るのってどうやんの?