code: def p_route_io(self, p):
          
          if len(p) > 6:
              p[0] = (p[2], p[4], p[6])
          else:
              p[0] = (p[2], p[4], None)
docs: route_io : LPAR type_ref COMMA type_ref RPAR
                      | LPAR type_ref COMMA type_ref COMMA type_ref RPAR