>>29,30 I see two major system of reading code:
A.By segmenting data by punctuation. This created a context for every block by parens/brackets/quote/etc used to delimit block boundaries.
A relies on simply counting current 'bracket level' +1/-1.
B.By segmenting data by spatical cues, such as indentation level(if all code fits on screen at once) from left side of content and its distance from nearby lines.
B system relies on monospace fonts, proper indentation and code fitting in one screen. It looks to me as fragile system where all conditions have to be met, so code will look "unreadable" if indentation is lost without becoming useless(Python code represents a code-decoding-form enforcing system B into compiler.)