#!/usr/local/bin/python2 def join(funcs, main=0): def f(*args, **kwargs): return [func(*args, **kwargs) for func in funcs][main] return f func = join((int, str, bool), main=1) for i in xrange(100000): r = func(5) print r