Many people have said that they dislike having to export a routine just so that it can be used as an agent in a pre-condition. The objection is that if the routine does not naturally belong to the ADT, then it should not be exported to ANY.
Well, this is a valid point, although there are already routines in ANY that do not belong in the ADT of most classes. Such as generating_type.