I was a bit surprised by this, because I thought the whole point of these new functions was to avoid errors like this.
This was a surprising result, for sure. Apparently the function returns an error when a cast is explicitly not permitted. But like Erik writes, that seems to go against the spirit of the function.