ffi1.hs:9:1: error: [GHC-89401]
    • Unacceptable argument type in foreign declaration:
        ‘(# Int | Int #)’ cannot be marshalled in a foreign call
    • When checking declaration:
        foreign import ccall safe "f1" f1 :: (# Int | Int #) -> IO Int

ffi1.hs:10:1: error: [GHC-89401]
    • Unacceptable argument type in foreign declaration:
        ‘(# (# Int, Int #) |
            (# Float#, Float# #) #)’ cannot be marshalled in a foreign call
    • When checking declaration:
        foreign import ccall safe "f2" f2
          :: (# (# Int, Int #) | (# Float#, Float# #) #) -> IO Int

ffi1.hs:11:1: error: [GHC-89401]
    • Unacceptable argument type in foreign declaration:
        ‘(# (# #) | Void# |
            (# Int# | String #) #)’ cannot be marshalled in a foreign call
    • When checking declaration:
        foreign import ccall safe "f3" f3
          :: (# (# #) | Void# | (# Int# | String #) #) -> IO Int