public ImmutableSplitResult(ImmutableCardSet top, ImmutableCardSet bottom)
 {
     top.ThrowIfNull(nameof(top));
     bottom.ThrowIfNull(nameof(bottom));
     Top = top;
     Bottom = bottom;
 }
 public ImmutableDrawSingleResult(ImmutableCardSet newDrawnFrom, Card drawn)
 {
     newDrawnFrom.ThrowIfNull(nameof(newDrawnFrom));
     drawn.ThrowIfNull(nameof(drawn));
     DrawnFrom = newDrawnFrom;
     Drawn = drawn;
 }