/// <summary>
 /// Assigns the first argument of the stub (or expected) call through the <paramref name="assign"/> lambda
 /// received.
 /// <para> An exception is thrown if the method has no argument or the first one is not of the expected type. </para>
 /// </summary>
 ///
 /// <typeparam name="TFirstArgument"> Type of the first argument.</typeparam>
 /// <param name="options"></param>
 /// <param name="assign">The lambda that will be called with the first argument value (C#: x => ... / VB: Sub(x) ...) </param>
 public static IMethodOptions <object> AssignFirstArgument <TFirstArgument>(this IMethodOptions <object> options, Action <TFirstArgument> assign)
 {
     return(options.AssignFirstArgument <Object, TFirstArgument>(assign));
 }