code: func MaskFrameWith(f Frame, mask [4]byte) Frame {
  	// TODO(gobwas): check CopyCipher ws copy() Cipher().
  	p := make([]byte, len(f.Payload))
  	copy(p, f.Payload)
  	f.Payload = p
  	return MaskFrameInPlaceWith(f, mask)
  }
docs: // MaskFrameWith masks frame with given mask and returns frame
  // with masked payload and Mask header's field set.
  // Note that it copies f payload to prevent collisions.
  // For less allocations you could use MaskFrameInPlaceWith or construct frame manually.