/// <summary>
 /// Tests the type on a property / method-info With continuation
 /// </summary>
 /// <param name="with"></param>
 /// <param name="expected"></param>
 /// <typeparam name="T"></typeparam>
 /// <returns></returns>
 public static IMore <T> Type <T>(
     this IOf <T> with,
     Type expected
     )
 {
     return(with.Type(expected, NULL_STRING));
 }
 /// <summary>
 /// Tests the type on a property With continuation
 /// </summary>
 /// <param name="with"></param>
 /// <param name="expected"></param>
 /// <param name="customMessageGenerator"></param>
 /// <typeparam name="T"></typeparam>
 /// <returns></returns>
 public static IMore <T> Type <T>(
     this IOf <T> with,
     Type expected,
     Func <string> customMessageGenerator
     )
 {
     return((with as ICanAddMatcher <T>).Type(expected, customMessageGenerator));
 }
 /// <summary>
 /// Tests the type on a property With continuation
 /// </summary>
 /// <param name="with"></param>
 /// <param name="expected"></param>
 /// <param name="customMessage"></param>
 /// <typeparam name="T"></typeparam>
 /// <returns></returns>
 public static IMore <T> Type <T>(
     this IOf <T> with,
     Type expected,
     string customMessage
     )
 {
     return(with.Type(expected, () => customMessage));
 }
 /// <summary>
 /// tests type on a method-info With continuation
 /// </summary>
 /// <param name="of"></param>
 /// <param name="customMessage"></param>
 /// <typeparam name="TExpected"></typeparam>
 /// <returns></returns>
 public static IMore <MethodInfo> Type <TExpected>(
     this IOf <MethodInfo> of,
     string customMessage
     )
 {
     return(of.Type <TExpected>(
                () => customMessage
                ));
 }
 /// <summary>
 /// tests type on a method-info with continuation
 /// </summary>
 /// <param name="of"></param>
 /// <param name="customMessageGenerator"></param>
 /// <typeparam name="TExpected"></typeparam>
 /// <returns></returns>
 public static IMore <MethodInfo> Type <TExpected>(
     this IOf <MethodInfo> of,
     Func <string> customMessageGenerator
     )
 {
     return(of.Type(
                typeof(TExpected),
                customMessageGenerator
                ));
 }
 /// <summary>
 /// tests type on a method-info With continuation
 /// </summary>
 /// <param name="of"></param>
 /// <returns></returns>
 public static IMore <MethodInfo> Type <TExpected>(
     this IOf <MethodInfo> of
     )
 {
     return(of.Type <TExpected>(NULL_STRING));
 }