I guess specifically the issue is [HalfTypeHelper.Convert()](https://github.com/mono/MonoGame/blob/develop/MonoGame.Framework/Graphics/PackedVector/HalfTypeHelper.cs#L82).

I suspect that could be converted to not use unsafe code.  Really it seems most of it just needs to be wrapped in an `unchecked` block which I think is fine in PCL.  The only real unsafe thing is the cast from uint to float at the end:

```
return *(((float*)&rst));
```

But there is a better safe solution for that using the `uif` struct defined at the top of the file to do a union style conversion:

```
uif t;
t.i = rst;
return t.f;
```

Still this could be done in a future PR.