Broad scope

A private attribute should be declared as close as possible to its only usage. If a private attribute is used only inside a single nested object, declaring it on the level of the parent object makes its scope unnecessarily broad.

Incorrect:

[] > foo
  42 >> a
  [] >> b
    a.plus 1 > c

Here, the scope of a is too broad: it is used only inside b. It should be moved closer, into b:

[] > foo
  [] >> b
    42 >> a
    a.plus 1 > c

Published on Fri Oct 2 12:30:31 UTC 2026.