have to se why function takes a type
Have an outline of how to check if test returns a bool. Do not think we wan to check if test returns a bool in visit_If  because i do not belive that there is way to do it nicely or like     BinOp