bcc ((FOREIGNCALL l rty (FStr fn) args):xs) = do
    i <- get
    tell $ indent (level i) ++ c_irts (toFType rty) (creg l ++ " = ")
                 (fn ++ "(" ++ showSep "," (map fcall args) ++ ")") ++ ";\n"
    bcc xs
bcc ((FOREIGNCALL l rty (FStr fn) args):xs) = do
    i <- get
    tell $ indent (level i) ++ c_irts (toFType rty) (creg l ++ " = ")
                 (fn ++ "(" ++ showSep "," (map fcall args) ++ ")") ++ ";\n"
    bcc xs
bcc ((FOREIGNCALL l rty (FStr fn) args):xs) = do
    i <- get
    tell $ indent (level i) ++ c_irts (toFType rty) (creg l ++ " = ")
                 (fn ++ "(" ++ showSep "," (map fcall args) ++ ")") ++ ";\n"
    bcc xs