@char-t can you please clarify how to taken care to avoid inplace operations?  without using the clone?
@char-t  @ptrblck
do you mean something like this is fine to do and it is similar to using the clone?:
x1 = input
x2 = input
x1 = self.module1(x1)
x2 = self.module2(x2)

and it is okay to do it like this?