Externalising reasoning by teaching language models to use programs as tools | Synapse