The whole of mu4e consists of hundreds of elisp functions. However, the majority of
those are for internal use only; you can recognize them easily, because they all start
mu4e~. These function make all kinds of assumptions, and they are subject to
change, and should therefore not be used. The same is true for variables that
mu4e~; don’t touch them. Let me repeat that:
Do not use mu4e~... functions or variables!
In addition, you should use functions in the right context; functions that start with mu4e-view- are only applicable to the message view, while functions starting with mu4e-headers- are only applicable to the headers view. Functions without such prefixes are applicable everywhere.