Use `halt` instead of `return`