Consider:
(define return-seven
(lambda () 7))
(define loop-forever
(lambda () (loop-forever)))
If halts? exists and works as it should, then we know:
(halts? return-seven) ⇒ #t
(halts? loop-forever) ⇒ #f
Q: How could halts? work?