決してお薦めはしないけど、「スマートに書ける関数」なら一応ある。

{-# OPTIONS_GHC -fglasgow-exts #-}

import GHC.Exts
import Data.List

sameConstr :: a -> a -> Bool
sameConstr x y = dataToTag# x ==# dataToTag# y

findHoge = find (sameConstr Hoge{}) hogeList

data HogeFuga = Hoge String | Fuga String
  deriving (Show)

hogeList = [Fuga "", Hoge "aaa", Fuga "bbb"]