This reverts commit e5cae569, which reverted 11850a63. The original revert was done because of breakage that was actually in a separate commit, 2ab1b8c1, which was also reverted and has since been fixed and relanded.