i would be a little worried about this method of including the DSL parser here, since it pollutes the global namespace with simple functions (e.g. `title`) which might collide (especially if we wanted to include two DSLs in this way). take a look at the updated `generate_scripts` and the section in Script.rb that calls the script to see how we handled this (using ARGF in the script to read in input, and capturing the output on stdout using Open3.capture2).