b94db7ed relanded in c3574ef7. This relands commit 180bae08, rebased across the new version of commit c3574ef7, and rebased across 10f7255d.