fn make_gates<F: FieldWitness>( filename: &str, ) -> (HashMap<usize, (Vec<(F, V)>, Option<F>)>, Vec<Vec<Option<V>>>, Vec<CircuitGate<F>>)