if-clause now throws an error when 'result' is not a Bool
fixed bug where equal? would return #f instead of #t