[Haskell-beginners] calling virtual function from base class in FFI (using type classes)