Instruction: Write a function that deeply compares two JavaScript objects for equality, considering nested properties.
Context: This question tests the candidate's ability to work with objects, and understand deep comparison logic.
hard