> Lenart was right.
> I am sorry, indeed, toZ :: Integral a => a -> Z
> toZ = toInteger
> helps. I recalled, exactly this was the initial bug program.
> But sorry, probably, i had confused something.
>
>
> Still, why moving toZ = toInteger :: Integral a => a -> Z
>
> to another module (Main.hs) changes the compilation success?
Because if you have toZ where it is being used then the
monomorphic type it gets is the one it needs to have.
Whereas, if it is exported, the default mechanism decides the type.
-- Lennart