I also have a few questions about ob-template.el
1. Can we assume that the HEAD version of ob-template.el is adequate as a basis for an implementation which is compatible with org version 8.2.xx (i.e., with older versions of org-mode)?
2. In function org-babel-execute:template functions first, second, third, etc are used to extract values from processed-params. However, such function are not defined in elisp, (nth N processed-params) should be used instead. Is it correct?
Also, it seems from other examples that the usual approach is to use assoc, e.g., (cdr (assoc ":session" params)). Are there enforced conventions that ensure the order in processed-params?
3. In function org-babel-expand-body:template we assume that vars is a list of pairs. However, it seems to me from some experiments that sometimes vars contains symbols. Am I wrong?