This often-needed functionality is split from the main Data::Sah to keep it in a small and minimal-dependencies package.