ARC - это процесс генерации кода во время компиляции, который относится к коду Objective-C.ARC в основном означает «вставку операторов retain, release и autorelease в источник * во время компиляции, чтобы программист не должен был это делать».
Следовательно, ARC не будет ничего делать с нецелевым кодом C (т.е.обычные библиотеки C) и не имеет поведения времени выполнения **, которое может мешать поведению сборки мусора в движке Haskell.
* На самом деле ARC работает не так, он генерирует оптимизированный код сборки, а не исходный код, а каканалогия - это хорошее описание того, как это работает.
** Строго говоря, неверно, что ARC не имеет поведения во время выполнения, поскольку существует слабое управление указателями, которое происходит во время выполнения, но опять-таки, это относится только кОбъекты Objective-C и ничего не сделают с кодом на Haskell.