Suppose I have type A with indexer implemented, e.g. type A is a library. Now I want to extend the indexer of it, e.g. here I want to add float number into the indexer. 

I worked out the following code:

```
type A(a:int array) = 
  member this.Item
    with get(x) = a.[x]
    and  set(x) value = a.[x] <- value

type A with
    member m.Item with
     get(x:float) = m.[x |> int]
     and  set(x:float) v = m.[x |> int] <- v

```

But it seems not working:

```
let a = A([| 1;2;3 |])
a.[1]
a.[1] <- 10

a.[1.0]

```

For the last line, I get:

```
Script1.fsx(243,4): error FS0001: This expression was expected to have type
    int    
but here has type
    float    

```

Is extending indexer possible in F#? Thanks!