There’s been some related discussion here: The relation between pattern matching and multiple dispatch