Spun out from #241.
Spun out from #241.