pythonにパターンマッチがあったら。

match xs.type:
   "int":
   	return xs.sum()
   "str":
        return [int(x) for x in xs].sum()
    _:
        return None

match (x, y):
    xs@((type_x, val_x), (type_y,  val_y)) if type_x == type_y:
        print xs
        return fn(type_x, (val_x, val_y))
    xs@(x$int,  y$int):
        return fn(int,  (val_x + val_y))


match xs:
   (x, y, *rest):
      return fn(g(x, y), rest)
   {"name" : v,  **kwargs}:
      return fn(h(v),  kwargs)
   _:
      return None

どんな感じの文法か分かんないけど。あったら良いなー。