enterNewCLICommand :: St -> [String] -> St
enterNewCLICommand st cs' = st'
  where
    cs = view commands st
    st' = set commands cs'' st
    cs''= (head cs') : cs   -- be careful here, it only takes the first command line it seems and discards the rest of the edit lines
enterNewCLICommand :: St -> [String] -> St
enterNewCLICommand st cs' = st'
  where
    cs = view commands st
    st' = set commands cs'' st
    cs''= (head cs') : cs   -- be careful here, it only takes the first command line it seems and discards the rest of the edit lines
enterNewCLICommand st cs' = st'
  where
    cs = view commands st
    st' = set commands cs'' st
    cs''= (head cs') : cs   -- be careful here, it only takes the first command line it seems and discards the rest of the edit lines