reflect safely against dynamic object