code: func (in *Otto) Copy() *Otto {
  	out := &Otto{
  		runtime: in.runtime.clone(),
  	}
  	out.runtime.otto = out
  	return out
  }
docs: // Copy will create a copy/clone of the runtime.
  //
  // Copy is useful for saving some time when creating many similar runtimes.
  //
  // This method works by walking the original runtime and cloning each object, scope, stash,
  // etc. into a new runtime.
  //
  // Be on the lookout for memory leaks or inadvertent sharing of resources.