How do you return multiple values and assign them to mutable variables?
F# has "by reference" parameters just like C#, so you can write a classic swap function similarly:
let swap (x: byref<'a>) (y: byref<'a>) =
let temp = x
x <- y
y <- temp
let mutable x,y = 1,2
swap &x &y
You can't; there's no syntax to update 'more than one mutable variable' with a single assignment. Of course you can do
let newX, newY = Swap(x,y)
x <- newX
y <- newY