# All GenServer handle functions would need to have a exception wrapper in compile time, this could maybe be configured with something like:
# > use GenServer, exception_flow: true
try do
# Could be used directly like this
raise GenResponse, res: :noreply, new_state: :any
# Or also like this
noreply! :any
rescue
# Essentially, in every handle function something like this would be under the hood
res in GenResponse ->
case res do
%GenResponse{res: :noreply, new_state: state} ->
{:noreply, state}
%GenResponse{res: :reply, value: value, new_state: state} ->
{:reply, value, state}
end
end