pub fn explain(program: Vec<Instr>, schemas: &Schemas) -> Explanation