If we are open to a keyword, then I propose the peculiar keyword unlet instead of maybe:
unlet Ok(user) = await fetchUser(id)
It would mean, unless the RHS expression returns/resolves to an Error, we can expect the value to be unwrapped and let-assigned to user variable. That also makes let and unlet keywords siblings. I hardly think anyone would use the unlet keyword for something else.
I agree with keeping OK() for the sake of clarity and keeping it unmagical.