Fix type checking for if-then-else where one branch has optional type
Fix type checking for if-then-else where one branch has optional type

jjdekker/libminizinc,nathanielbaxter/libminizinc,jjdekker/libminizinc,tias/libminizinc,nathanielbaxter/libminizinc,jjdekker/libminizinc,nathanielbaxter/libminizinc,nathanielbaxter/libminizinc,jjdekker/libminizinc,tias/libminizinc