While discussing `Span<T>` safety rules with the F# team I realized we
hadn't fully documented our dependency on the shape of the `Span<T>`
API. Added that plus some of the future considerations we discussed for
`Span<T>`.
https://github.com/Microsoft/visualfsharp/pull/4888
Incorporate decisions, changes and motivation from various sources, documents and discussions.
The goal is to have all the relevant information in one place and describe the expected behavior of the actual implementation.
We no longer assume that ` Span<T> span = new Span<T>(ref variable); ` can actually "wrap" the reference to the variable.
This allows to relax some of the safety requirements.