private bool IsWildcardMatch(Word word, ulong pattern) { if (IsMatch(word, pattern)) { return(true); } if (Game.HasWildcard(word.Bits)) { return(false); } var negPattern = ~pattern; var negBitword = negPattern & word.Bits; return(BitUtils.CountSetBits(negBitword) == 1); }