Without a recursion guard, Comparable#== can blow the stack when included into a class that has no <=> defined. See #1099 and https://bugs.ruby-lang.org/issues/9003 for details.