I have a Ruby `case/when` statement, which takes different options for a parameter.

There are three valid cases: symbols, integers, and nil; anything else is invalid.

In the most obvious form, there are four cases:

```rb
case param
when Symbol
  run_symbol_code
when Integer
  run_integer_code
when nil
  # do nothing
else
  raise_error
end

```

now, I was wondering: is there any way to avoid the `nil` case? Originally I thought about:

```rb
case param
when Symbol
  run_symbol_code
when Integer
  run_integer_code
when Object
  raise_error
end

```

however, this doesn't work, because nil is actually an object. There's also the option to use `raise_error if param` in the last case, but I don't find it very appealing.

Is there any way to use only three cases?