Keyword of the week: Error bubbling Summary of the work done Use enum types to represent error rather than strings Use the err_derive crate to implement easily the required traits for error types Indicate the cause of errors for easier debugging Exit the script on the first programmer error (wrong function signature, invalid expansion, assignment error), rather than leaving “magic” happen Separate parsing & expansion to make it easier to swap the current parser for nom process::exit is no...