I think an explicit ```return:``` block is necessary.
The current indentation and blocking is confusing. I can accept that calculations can happen in the body anywhere but reading those indented doc: and unindented where: is confusing.
Is there something about Python that makes it special for teaching? Is function application via spaces like ML-family languages difficult for learners?