wrapAsNonEmptySetOrNull

Returns a NonEmptySet that wraps the given this, avoiding an additional copy.

Any modification made to this will also be visible through the returned NonEmptySet. You are responsible for keeping the non-emptiness invariant at all times.