How are we going to implement `Decodable` for arbitrary `SomePtr<[T]>`? My belief is that it will have to be implemented independently for each pointer type.

I do think we should be aggressively opinionated about the use of `~[T]`. Basically, I think we need to approach these APIs with the question: if we didn't have `~[T]` before today, would we have chosen to implement this? And I think the answer is no, we would not have implemented `Decodable` for `~[T]`, because we don't think people should be using it and therefore we should not expend the effort and maintenance burden to add this to the standard libraries.

`FromVec` I was willing to add because I recognized the validity of your point that we should have *some* way of producing a `~[T]`, even if we don't think people should be using it, so that at a basic level people do have some way to create instances of this type.

All that said, since you disagree with me about this, I'm willing to hold back and restore `Decodable` for now. But I do think we should reconsider this later after we've finished migrating off of `~[T]` completely.