Erlang equivalent for `with` special form

Hi,
What would be the Erlang equivalent for the with special form like:

with {:ok, width} <- Map.fetch(opts, :width),
       {:ok, height} <- Map.fetch(opts, :height) do
       {:ok, width * height}
else
      :error -> {:error, :wrong_data}
end

I’m switching back and forth between the languages and still didn’t found a nice abstraction in Erlang for this.

Thanks,