Pythonで__instancecheck__メソッドが呼び出されない場合があります。
以下のコードを実行すると

Falseになるはず→ True
Falseになるはず→ False
Falseになるはず→ False
Falseになるはず→ False

と表示されます。
本当は一つ目がFalseと表示されるべきですがTrueと出てしまいます。
なぜ呼び出されないのでしょうか。
よろしくお願いします。

class Analysis(type):
    def __instancecheck__(self, other):
        return False

class SMA(metaclass = Analysis):
    pass

sma=SMA()
print('Falseになるはず→',isinstance(sma, SMA))
print('Falseになるはず→',isinstance(1, SMA))
print('Falseになるはず→',isinstance([], SMA))
print('Falseになるはず→',isinstance('', SMA))