This happens when you also define a function get_foo:
let get_foo() = !foo
because the definition foocreates a property that implements its own method get_foo, so a conflict arises. The F # compiler gets confused by this and generates a false "redefinition error".
Microsoft, , (VS11) F #.