F#でオーバーロードを実現する
#Fsharp
現実的に
let
で宣言した関数はオーバーロードすることができない。static memberとして宣言した関数ならオーバーロードはできるけど、関数プログラミングぽくない。なので、似たようなことを実現するために、判別共用体を使うという話。
https://blog.ploeh.dk/2013/10/21/replace-overloading-with-discriminated-unions/