In R5RS equal? is in some sense the broadest test for equality, comparing structural equality, but also tests for the same exactness, so that
(equal? 0 0.0) => #f
whereas
(= 0 0.0) => #t
Some users consider this confusing, others sometimes want an equal? that behaves like = for numbers.
WG1 voted to take no action.