I see. So, I guess it’s the Variable object that keeps track of the backward function. Still, I’m not sure how exactly the Module and Function class achieved this, since there is no explicit registration for the backward function. So far I found FunctionMeta 6 might be the place all these are going on, but not quite sure exactly how.