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
どんな感じの文法か分かんないけど。あったら良いなー。