code: func (c *Call) Clone() *Call {
  	if c == nil {
  		return nil
  	}
  
  	other := &Call{
  		Name: c.Name,
  		Args: CopyArgs(c.Args),
  	}
  	if c.Children != nil {
  		other.Children = make([]*Call, len(c.Children))
  		for i := range c.Children {
  			other.Children[i] = c.Children[i].Clone()
  		}
  	}
  	return other
  }
docs: // Clone returns a copy of c.