https://alexmg.dev/posts/compute-any-hash-for-any-object-in-c/