Type conversions

Casting and coercions. Adds custom DST coercions for smart pointers. Otherwise, mostly descriptive, with a few bits of tidying up.
`&[V]` -> `*const V` doesn't seem to work, only `&[V, .. n]` -> `*const V`.

Also is the `mut` equivalent intentionally omitted?