makeCurrent(span) returns an output that is a scope object. When the scope object is destroyed, span is no longer current.
A common pitfall is to call makeCurrent without returning an output, which results in the scope getting immediately destroyed and makeCurrent seemingly has no effect.
The scope object output is documented in the makeCurrent help but this pitfall needs to be emphasized more to help users avoid this mistake.