This seems way too specialized to be on a generic util object