REMEMBER TO USE COMPILE TIME ALIASING TO STORE QUANTUM GATES WHEN IT GETS FIXED SO I CAN STOP ALIASING SQRT2 FIX THE POINTER ISSUE, AFTER APPLYING GATE, CHANGE NOT REFLECTED IN REFERENCES