def recappl(self, inps, states): numrecargs = getnumargs(self.rec) - 2 # how much to pop from states mystates = states[:numrecargs] tail = states[numrecargs:] inps = [inps] if not issequence(inps) else inps outs = self.rec(*(inps + mystates)) return outs[0], outs[1:], tail
def numstates(self): return getnumargs(self.rec) - 2