Changed passthrough optimization to use transform_full