opt_returnx : kw_returning commalist \n |

def p_returnx(self,t):
    "opt_returnx : kw_returning commalist \n | "
    # note: this gets weird because '(' commalist ')' is an expression but we need bare commalist to support non-paren returns
    t[0] = None if len(t)==1 else ReturnX(t[2].children[0] if len(t[2].children)==1 else t[2])