performEvaluation :: String -> String -> LambdaTerm -> IO String
performEvaluation model modelPrefFile term = do
  storage <- newEmptyMVar
  forkIO $ do
    s <- evaluate model modelPrefFile term
    putMVar storage s
  readMVar storage
performEvaluation :: String -> String -> LambdaTerm -> IO String
performEvaluation model modelPrefFile term = do
  storage <- newEmptyMVar
  forkIO $ do
    s <- evaluate model modelPrefFile term
    putMVar storage s
  readMVar storage
performEvaluation model modelPrefFile term = do
  storage <- newEmptyMVar
  forkIO $ do
    s <- evaluate model modelPrefFile term
    putMVar storage s
  readMVar storage