Use fail_with instead of return nil