logical op fixes, changed expr return to Type