Fixed up @tel's sanity checking

It now actually checks if the destination can safely contain the object.
It may not be entirely safe yet, but it's a start.