Como fornecer declarações de tipo explícitas para funções ao usar o GHCi?

Como definir o equivalente dessa função (extraído delearnyouahaskell) dentro do GHCi?

import Data.List  

numUniques :: (Eq a) => [a] -> Int  
numUniques = length . nub  

Sem a declaração de tipo, o GHCi aceita a definição da função, mas acaba com um tipo inútil:

Prelude Data.List> import Data.List 
Prelude Data.List> let numUniques' = length . nub
Prelude Data.List> :t numUniques'
numUniques' :: [()] -> Int

A função resultante aceita apenas uma lista de unidades como parâmetro.

Existe uma maneira de fornecer declarações de tipo no GHCi? Ou existe outra maneira de definir funções como essas que não exigem declarações de tipo?

Não vi pistas óbvias no guia do GHCi e experimentei expressões como as seguintes (sem sucesso):

> let numUniques' = ((length . nub) :: (Eq a) => [a] -> Int)
> :t numUniques'
numUniques' :: [()] -> Int

questionAnswers(2)

yourAnswerToTheQuestion