Feels like this should be moved to cpp-common and update sprout as well.