Use typedefs for all backend functions, to minimize work in future API updates. (back-*/external.h will never need updating in the future.)