public static INullableAssertionU <S> And <T, S>(this IAssertion <T> assert, Nullable <S> source, string name = null, [CallerFilePath] string file = null, [CallerLineNumber] int?lineNumber = null, [CallerMemberName] string caller = null) where S : struct { var nextAssert = source.If(name, file, lineNumber, caller); InternalAndOperation <T, Nullable <S> >(assert, nextAssert); return(nextAssert); }