Howdy, I tried to build a function that would create an auto-freeing function pointer: runOnMain :: IO () -> IO () runOnMain todo = do func <- funky dispatchFunc func where funky = mkStrCB $ \v -> do todo func <- funky freeHaskellFunPtr func Unfortunately, I wind up getting: internal error: iPhoneCreateAdjustor - adjustor pool 'Main_d2K2' is empty (capacity 32) (GHC version 6.10.4-iphone-simulator for i386_apple_darwin) I'm not sure why, but I suspect that funky is being called recursively and thus stuff is never being freed. Any hints as to the issue and solutions? Thanks, David -- Lift, the simply functional web framework http://liftweb.net Simply Lift http://simply.liftweb.net Follow me: http://twitter.com/dpp Blog: http://goodstuff.im