@@ -19,6 +19,7 @@ module Data.Terminfo.Eval ( cap_expression_required_bytes
1919import Data.Marshalling
2020import Data.Terminfo.Parse
2121
22+import Control.DeepSeq
2223import Control.Monad.Identity
2324import Control.Monad.Reader
2425import Control.Monad.State.Strict
@@ -154,7 +155,7 @@ serialize_cap_expression :: MonadIO m => CapExpression -> [CapParam] -> OutputBu
154155serialize_cap_expression cap params out_ptr = do
155156 let params' = apply_param_ops cap params
156157 (!out_ptr', _) <- runStateT (runReaderT (serialize_cap_ops out_ptr (cap_ops cap)) (cap, params')) []
157− return out_ptr'
158+ return $! out_ptr'
158159
159160serialize_cap_ops :: MonadIO m => OutputBuffer -> CapOps -> EvalT m OutputBuffer
160161serialize_cap_ops out_ptr ops = foldM serialize_cap_op out_ptr ops