I think the single biggest mistake they made was calling the option "safe". That is obviously ludicrous! They should have called it exactly what it is - "async".
My contention is that "safe" is a bad name for the parameter, and "async" is far better suited as it describes the semantics of the API.