OPTIONS_GHC
сам по себе не считается устаревшим (вы могли бы использовать это, например, для включения определенных параметров сборки), но использование его для включения / выключения языковых функций не считается хорошей практикой. Вместо этого используйте {-# LANGUAGE ... #-}
прагмы.
например. {-# LANGUAGE TemplateHaskell, ForeignFunctionInterface, RankNTypes #-}
Кроме того, использование всеобъемлющего -fglasgow-exts
считается плохим тоном. Лучше просто включить нужные вам расширения, и, таким образом, будет понятнее, что нужно любому, кто плохо знаком с вашим кодом.