Hi all,

There is something about polymorphic tests in QuickCheck that I do not understand.

If you write the simplest dummy test function 

tst :: a -> Bool
tst _ = True

and evaluate it we get

> verboseCheck tst
0:
()
1:
()
...

How come did the polymorphic value a get instanciated to ()? Is this done via the Testable type class?
Could someone please explain this to me? I'm not saying it does not make sense, but I would like to understand how it works. Being possible to change this behavior, this is, assign another "default type" whenever polymorphic types occur, would be awesome.

Cheers,
hugo

--
www.di.uminho.pt/~hpacheco