Why is `thread return` required?