> There's also the list comprehension way with C-like syntax, which
> involves no array indices:
yeah, I had forgotten about that. It seems to keep the shape a bit better.
This is the same as your example (if I understand your example), in
Haskell:
a = do
p <- [1,2,3]
return $ do
q <- [10,20,30]
return (p + q)
main = print a
--