Indentation requirements for parsing seem inconsistent

The "golden rule of indentation" does not seem to be strictly adhered to in all cases: there is an interaction between let/where clauses and do-notation that makes indentation requirements different in different situations: