What is the difference between ++ and : in haskell?
===

I don't get this--

    Prelude> "hi"++"there"
    "hithere"
    Prelude> "hi":"there"
    
    <interactive>:12:6:
        Couldn't match expected type `[Char]' with actual type `Char'
        Expected type: [[Char]]
          Actual type: [Char]
        In the second argument of `(:)', namely `"there"'
        In the expression: "hi" : "there"
    Prelude> 

Why doesn't that also return "hithere"?