Given the following code:
type MyType() =
static member processString (_string:string) = _string.Substring(0, 1)
static member processInt (_int:int) = _int.ToString()
static member processItems = List.map MyType.processString
static member processItems = List.map MyType.processInt
The last two lines will not work. I have to do this:
static member processItems (_strings:string list) = _strings |> List.map MyType.processString
static member processItems (_ints:int list) = _ints |> List.map MyType.processInt
Even if I do this, the second line fails:
static member processItems (_strings:string list) = _strings |> List.map MyType.processString
static member processItems = List.map MyType.processInt
Since F# is all fancy-pants with the type inference, why can't it figure out that the two processItems member functions have different parameter signatures without my having to explicitly provide parameter types for both of them??