It was a wrong assumption that we can ignore effects in dead-end blocks.
var Function.instructions
Type.isNonTrivialOrContainsRawPointer
Type.isTrivialNonPointer
assert