> def tailrecursedef(f): additionally defining def tailrecurse(*a, **b): return {'tailrecurse': (a,b)} allows us to tidy up: > def bit(i): > if i==0: > return "bottom" > else: > return {'tailrecurse': ((i-1,),{})} to: def bit(i): if i==0: return "bottom" else: return tailrecurse(i-1) Richard.