GHC 8.4 はこんな感じ:
Eq a => Maybe a でないといけないので後者の方が汎用的なコードではありますね(パフォーマンスのことは知りません)import Data.ByteString.Char8 () は不要ではないかと思いました。import Prelude を最後に置くとCPPなしで警告を避けられます。
isNothing
= \ (@ a_a217) (ds_d21I :: Maybe a_a217) ->
case ds_d21I of {
Nothing -> GHC.Types.True;
Just ipv_s21X -> GHC.Types.False
}
isNothing'
= \ (@ a_a210) _ [Occ=Dead] (x_a1TR :: Maybe a_a210) ->
case x_a1TR of {
Nothing -> GHC.Types.True;
Just a1_a22b -> GHC.Types.False
}
LTS のメジャーバージョンがアップデートされるので12月か1月ぐらいですかね?:thinking_face:foldr (+) 0 は sum にしろとか、 map (...) $ map (...) は1個のmapにまとめろとか、なかなかアグレッシブな?指摘をしてくれますねhlint --ignore="Eta reduce" とかで、ルールを排除できますよ。