From docs https://docs.python.org/3/library/itertools.html#itertools.chain I see that itertools.chain is defined as a function. But then why inspect.isclass(chain) is saying it as class. from itertools import chain inspect.isclass(chain) # True Thanks, Arup Rakshit ar at zeit.io