でもfunc(Fuga x))内でif(x instanceof Hoge)((Hoge)x).setXXX(a);みたいに書けば中身変更されるよな。