This reverts commit 8392bf60. The commit missed some edge cases that led to crashes. Reverting to resolve downstream breakage while a fix is pending.