Using Instantiate on a Rigidbody rather than a whole GameObject

I can copy the Rigidbody of a prefab:

var r = Instantiate(missilePrefab.rigidbody);

but I can't set it on my object:

mymissile.rigidbody = r;

This is just an excerpt. The full story is that in some cases when I Instantiate my missile, I need to Destroy the rigidbody. I want to be able to recreate it, with it's properties set as they were before I Destroyed it.

I guess I'm looking for:

mymissile.AddComponent(r);

But there is no such function (AddComponent takes a string or a type).

You can't do it - the best you can do is copy the properties, then do a normal AddComponent(Rigidbody) and set the properties yourself