The simplest solution I can come up with is the following
class Residual(nn.Module):
    def __init__(self, *mods):
        super().__init__()
        self.seq = nn.Sequential(*mods)
       
    def forward(self, x):
        return x + self.seq(x)

This should retain all the hooks with 3 extra lines of code!