I have been using "do/end" notation in elixir more-or-less like imperative block delimiters. (In other words, do is like { in a C-like language, end is like }).
Is this an accurate description of what's going on? Or is it more like the Haskell do notation, which constructs syntactic sugar for a monad that allows for imperative-like coding?