about control flow + types