Parrot's current implementation relies on the ability to "morph" an object to another type. Leo has attempted to challenge this a number of times, but to my knowledge never successfully.
Think string to numeric, but more general.
In general, morphing a complex type can be expensive.