Prim::Constant() gives you a “typed None” here, so in PyTorch terms, this is a Optional[Tensor] (aka Tensor?) that is None / not present.
One little known difference between Python and TorchScript – at least I didn’t know it until I submitted a PR that needed to be corrected to do the right thing – is that while None has its own type in Python, it is always typed (of some optional type) in TorchScript.
(For those pedantic about internals, there is a NoneType defined in jit_types.h, but it’s not for use “inside” TorchScript and a None passed in to a scripted function is converted to the corresponding typed None.)