The following information is only provided for those who want to understand how the current interfaces work. It does not mean that any of these internals survive updates, so don't built them into your macros.