/// <summary>
 /// Requires a string is null or empty
 /// </summary>
 /// <param name="val"></param>
 /// <param name="key"></param>
 /// <returns></returns>
 public Contract <T> IsNullOrEmpty(string val, string key) =>
 IsNullOrEmpty(val, key, FluntErrorMessages.IsNullOrEmptyErrorMessage(key));