Se controlli il tipo che inferisce il compilatore con il comando :type vedrai che e` (RealFrac a, Integral a) => a -> [a]. Il problema e` che ovviamente non trova un tipo che sia sia un'istanza di RealFrac e di Integral.
Per risolvere il problema devi riscrivere la funzione usando delle funzioni della classe Integral, ovvero

codice:
bConv x | x == 0 = [0]
               | x == 1 = [1]
               | otherwise = (mod x 2) : bConv (div x 2)
il cui tipo e` (Integral a) => a -> [a]



Non prenderlo per oro colato, ma il principio a grandi linee dovrebbe essere questo.