Sorry to dredge this one up but I had exactly the same problem, I was hoping I could ask @eellison how this works exactly?

Generally, overloads should be usable and work as you expect when they are contained in other modules

I get the idea: Once you call forward, then the torchscript can inspect types and choose the right graph? But is it possible to get a reference for some documentation to fully understand how this works (or to the code that does this)? I don’t quite understand why forward is treated differently - when this error occurs I can still call the other functions which have been overloaded.