Please, try to avoid nested cases. They create too much of a ladder effect and are really hard to understand. Moreover, the new Erlang (which we don't use though) already got support for optimized `case {Thing0, Thing1} of` clauses.
So for this particular case I think the following will work

```erlang
case {RHier, Hier} of
    {bla, bla} -> do_blabla();
    {foo, bar} -> fo_blabla();
    _ -> ok
end
```