node's assert.deepEqual algorithm
Compare two objects using accessed properties with Proxy
Fast deep equal
A simple lightweight alternative for npm deep-equal package
Deep equals