#Ruby pattern matching for optional types of sorts:
```
def user_name(maybe_user)
case maybe_user
in User => user then user.full_name
in nil then nil
end
end
```
And:
```
def user_name!(maybe_user)
case maybe_user
in User => user then user.full_name
# No else – raises if not User.
end
end
```