Example #1
0
 /// <summary>
 /// Subtract the Right of one either from the Right of another
 /// For numeric values the behaviour is to find the difference between the Rights (lhs - rhs)
 /// For Lst values the behaviour is to remove items in the rhs from the lhs
 /// For Map or Set values the behaviour is to remove items in the rhs from the lhs
 /// Otherwise if the R type derives from ISubtractable then the behaviour
 /// is to call lhs.Subtract(rhs);
 /// </summary>
 /// <typeparam name="L">Left</typeparam>
 /// <typeparam name="R">Right</typeparam>
 /// <param name="lhs">Left-hand side of the operation</param>
 /// <param name="rhs">Right-hand side of the operation</param>
 /// <returns>lhs - rhs</returns>
 public static EitherUnsafe <L, R> subtract <L, R>(EitherUnsafe <L, R> lhs, EitherUnsafe <L, R> rhs) =>
 lhs.Subtract(rhs);