@@ -291,13 +291,20 @@ mkIty' (App (App (P _ (UN "FFunction") _) _) (App (P _ (UN "FAny") _) (App (P _
291291mkIty' (App (App (P _ (UN "FFunction") _) _) _) = FFunction
292292mkIty' _ = FAny
293293
294+-- would be better if these FInt types were evaluated at compile time
295+-- TODO: add %eval directive for such things
296+
294297mkIty "FFloat" = FDouble
295−mkIty "FChar" = FChar
298+mkIty "FInt" = mkIntIty "ITNative"
299+mkIty "FChar" = mkIntIty "IT8"
300+mkIty "FShort" = mkIntIty "IT16"
301+mkIty "FLong" = mkIntIty "IT64"
296302mkIty "FString" = FString
297303mkIty "FPtr" = FPtr
298304mkIty "FUnit" = FUnit
299305mkIty "FFunction" = FFunction
300306mkIty "FFunctionIO" = FFunctionIO
307+mkIty x = error $ "Unknown type " ++ x
301308
302309mkIntIty "ITNative" = FInt ITNative
303310mkIntIty "IT8" = FInt IT8