from typing import List from types import FunctionType, LambdaType
def composite(*func: List[FunctionType]) -> LambdaType: if len(func) < 2: raise TypeError(f'composite expected over 2 arguments, but got {len(func)}') if len(func) == 2: return lambda *args, **kwargs: func[1](func[0](*args, **kwargs)) return lambda *args, **kwargs: composite(*func[1:])(func[0](*args, **kwargs )) tpr=composite(type,print) print(tpr('a')==tpr(1)) I subscribed to python-list, so I sent this message again. Why does tpr('a')==tpr(1) return True? -- https://mail.python.org/mailman/listinfo/python-list