Transform! executes/calls the method wheras transformation = is assigning it.
tested your code and
transformation = , did give me a same result as transform!
The principle still is call method with object.method.
Oh, and to answer the question. In this case were dealing with Geom::Transformation object. So were not calling a method directly(I think..).So its more like
Group.Geom::Transformation = myspecial.Geom::Transformation
I hope I explained it correctly..
If you test t0.class you will see it's a Geom::Transformation.object