{-# LANGUAGE FlexibleContexts #-} module Main where import Java import Java.Do main :: IO () main = putStrLn $ mconcat $ fmap (\x -> let _ = x :: JInteger in show x) $ fromJava $ funApply2 (toJavaFun mkList) $ toJava (3 :: Int) mkList :: JInteger -> (List JInteger) mkList x = toJava [x] foreign import java unsafe "@interface apply" funApply2 :: (Extends t Object, Extends r Object) => Function t r -> t -> r