This reverts commit 80ac022c4667e1995ccdf70fff90e5af26b6eb97. I changed my mind on this one, sorry. I don't think this belongs in the standard library.