With zsh, I can do ~1, ~2 etc to move around a directory stack. Does fish have anything like that?
You can use `prevd` and `nextd`, or you can use key bindings, like the default alt-left and alt-right bindings.
$ dirs -v
0 ~/baz
1 ~
2 ~/bar
3 ~/foo
4 ~/spam
Then "pushd +3" will take you to ~/foo. This hardly seems "opaque".