The equal case is already short-cirquiting, see line 139.
I thought about this, but decided against it, as I believe that the current implementation is the only one that makes sense (different types of structs β primitive change, same types of structs β recurse over struct keys).
This is absolutely amazing. I had no idea that it was possible to refactor it so beautifully
. Please do open Pull Request, so I can put these changes in and give you credit!


















