General query to the (largely absent) world:
Normally, I think of \input{file} as equivalent to putting the contents of file in place of \input{file} i.e. it makes no difference whether the code is in another file, inputted, or whether it is in the main file. However, if expl3 syntax is active, it seems that it does make a difference: \file_input:n {file} is not equivalent to including the contents of file in its place. In particular, the latter ignores spaces (as expected), whereas the former does not (as not expected). This is quite handy for me, but I'm not sure why it works or what is g…