pdateField :: (ComposeFields -> String -> ComposeFields) -> LazymailCurses ()
updateField f = do
  st <- get
  let value = currentInput . inputState $ st
  let cf = (composeFields . composeState $ st)
  let cs = (composeState st) { composeFields = (f cf value) }
  put $ st { inputState = initialInputState
           , composeState = cs
           }

updateField :: (ComposeFields -> String -> ComposeFields) -> LazymailCurses ()
updateField f = do
  st <- get
  let value = currentInput . inputState $ st
  let cf = (composeFields . composeState $ st)
  let cs = (composeState st) { composeFields = (f cf value) }
  put $ st { inputState = initialInputState
           , composeState = cs
           }
updateField f = do
  st <- get
  let value = currentInput . inputState $ st
  let cf = (composeFields . composeState $ st)
  let cs = (composeState st) { composeFields = (f cf value) }
  put $ st { inputState = initialInputState
           , composeState = cs
           }