Criticism Haskell's do notation is popular and ubiquitous. However we shall not ignore that there are several problems. Here we like to shed some light on aspects you may not have thought about, so far. Didactics The do notation hides functional details. This is wanted in order to simplify writing imperative style code fragments. The downsides are that: Since do notation is used almost everywhere