なおFooやBarにset()やget()のメソッドを追加してA, B, C, ...と共通にtr_pos()できるようにする案はパフォーマンス上の問題で論外なのでもともと却下
(set()やget()の追加は出し入れするデータの型としてintermediateなクラスWの存在を仮定しているが、FooやBarとWとの間の変換は極めて重い処理となる