This is analogous to function pointers (or vtables or dynamic dispatch) in programming. It’s a really tight analog actually, almost literal. It’s slower (more expensive) to go through a cranks. You only do it for external reasons, but you should always try to eliminate them. I hope people around here saying these companies add value aren’t forgetting that we want to destroy them because in an ideal world things are more direct than they are already. We SHOULD want that too, that is the right direction to move in.