not personally a big fan of abusing binary boolean operators for control flow, but feel free to do whatever in c_gen