# FSharpChoiceCopier&lt;T1, T2, T3, T4&gt; Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.serialization.fsharp/orleans.serialization.fsharpchoicecopier-4/)

## DeepCopy(FSharpChoice&lt;T1, T2, T3, T4&gt;, CopyContext) {#deepcopy-microsoft-fsharp-core-fsharpchoice-t1-t2-t3-t4-orleans-serialization-cl-5efb6b4a}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization.fsharp/orleans.serialization.fsharpchoicecopier-4/methods/deepcopy-microsoft-fsharp-core-fsharpchoice-t1-t2-t3-t4-orleans-serialization-cl-5efb6b4a/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization.FSharp/FSharpCodecs.cs#L569-L583)

```csharp
public FSharpChoice<T1, T2, T3, T4> FSharpChoiceCopier<T1, T2, T3, DeepCopy(FSharpChoice<T1, T2, T3, T4> input, CopyContext context)
```

Creates a deep copy of the provided input.

### Parameters

- `input` (`FSharpChoice<T1, T2, T3, T4>`): The input.
- `context` (`CopyContext`): The context.

### Returns

A copy of `input`.
