Я знаю, я могу перенаправить обратно из трейтов с помощью метода send (), но код перенаправляет только обратно без сеанса.
if ($address_validation->isAmbiguous()) {
$suggestedAddresses = $address_validation->getCandidateAddressList();
redirect()->back()->with('suggestedAddresses', $suggestedAddresses)->withInput($request->all())->send();
}






Просто верните его из трейта в вашем контроллере, не используйте метод send (), если вы хотите перенаправить обратно с помощью сеанса.
// По твоему признаку
return redirect()->back();
затем в вашем контроллере
$response = mytraitFunction();
if ($response is instanceof RedirectResponse)
return $response->with('success', $response['message'])->withInput($request->all());
Не забудьте использовать: используйте Illuminate \ Http \ RedirectResponse;