/// <summary> /// Append the Right of one either to the Right of another /// For numeric values the behaviour is to sum the Rights (lhs + rhs) /// For string values the behaviour is to concatenate the strings /// For Lst/Stck/Que values the behaviour is to concatenate the lists /// For Map or Set values the behaviour is to merge the sets /// Otherwise if the R type derives from IAppendable then the behaviour /// is to call lhs.Append(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> append <L, R>(EitherUnsafe <L, R> lhs, EitherUnsafe <L, R> rhs) => lhs.Append(rhs);