This, of course, is just a particular example of the fundamental reason that the use of any such API must be discouraged. Note, however, that we do already have quite a few existing APIs that are similarly discouraged, yet do exist for good reason.
A particularly relevant example is the sync
method of DispatchQueue
, which will cause a hang in exactly the same way if you use it to schedule a task to wait for itself. In spite of this, sync
method has been put to many a good use over the years.