In this case it's easy to receive the warping "direction" as a parameter and have only one "transofrm" function, I don't know if that would be convenient from the user point of view though. If we simplify the _warp_forward and _warp_backward functions, it would be just a function call.