The most consistent behaviour would be if a Function.curry pointing to a destructed object was also destructed. But that is probably less trivial to implement...
Otherwise you have the reverse inconsistency that manually making an unguarded call to the curry would not throw an error even though an equivalent uncurried call would have. Getting a sudden "0" return may be inconsequential to call_out, but it might not be the case in all call sites.
Hm. Would it work to just implement `!, to "fool" the destructed test in the backend?