I still don't like that there is a `case` statement and a noop block for fish. Why do we have to avoid having `hash -r` for fish? If it errors out (e.g. if it's not a valid builtin in the current shell) it should be silent and still return success code due to `|| true`