Hi, 

Please can anyone explain how does 'a' get re-used in the code below. My understanding so far of haskell is that variables are not allowed to mutate or re-assigned.

---
do
a <- [1,2,3]
a <- [a+1]
return a
 
[2,3,4]
---

Thanks,
Shishir