According to helpful-key, C-x b is bound to ivy switch buffer:
According to the code, that is an interactive function. However, when I look for it in the Counsel-M-x menu, it's not found:
I figured since this is an interactive function, I should be able to call it from the M-x menu. I'm able to call it from the scratch buffer using eval-last-sexp, and through C-x b, but not M-x. Why wouldn't this show up in the M-x menu?