setValueHide :: IORef SpreadsheetProperties -> Ref Table -> Ref Input -> IO ()
setValueHide sp' table' intInput' = do
  props' <- readIORef sp'
  inputValue' <- getValue intInput' >>= return . read . T.unpack
  let updatedValues' = setIndex
                         (rowEdit props')
                         (setIndex
                           (colEdit props')
                           (const inputValue'))
                         (values props')
      updatedProperties' = props' {
          values = updatedValues'
        }
  writeIORef sp' updatedProperties'
  hide intInput'
  window' <- getWindow table'
  maybe (return ()) (\w' -> setCursor w' CursorDefault ) window'
setValueHide :: IORef SpreadsheetProperties -> Ref Table -> Ref Input -> IO ()
setValueHide sp' table' intInput' = do
  props' <- readIORef sp'
  inputValue' <- getValue intInput' >>= return . read . T.unpack
  let updatedValues' = setIndex
                         (rowEdit props')
                         (setIndex
                           (colEdit props')
                           (const inputValue'))
                         (values props')
      updatedProperties' = props' {
          values = updatedValues'
        }
  writeIORef sp' updatedProperties'
  hide intInput'
  window' <- getWindow table'
  maybe (return ()) (\w' -> setCursor w' CursorDefault ) window'
setValueHide sp' table' intInput' = do
  props' <- readIORef sp'
  inputValue' <- getValue intInput' >>= return . read . T.unpack
  let updatedValues' = setIndex
                         (rowEdit props')
                         (setIndex
                           (colEdit props')
                           (const inputValue'))
                         (values props')
      updatedProperties' = props' {
          values = updatedValues'
        }
  writeIORef sp' updatedProperties'
  hide intInput'
  window' <- getWindow table'
  maybe (return ()) (\w' -> setCursor w' CursorDefault ) window'