soundcloud/visor — pull request #84 by matttproud-soundcloud (2012-12-04 16:56:27+00:00)
Title: Explicitly address nested struct components.

The nesting of structs (e.g., ``Snapshot`` and ``dir``) into other
structs when they themselves override associated functions and their
signatures has made understanding their relationships problematic.
For instance ``Snapshot.set`` and ``dir.set`` have the same
input signature but differ in their output signatures---not in the
arity but the positional types. It is the case that all
primitives nest both of these structs in themselves.

Even though this change introduces more verbosity and does not change
the functional nature of Visor, it at least makes clear who is using
what and when. The fact that such deep nested access is needed is
probably indicative of needing to conduct a thoughtful refactoring.
That is outside the scope of this change, as it is merely to highlight
how thorough the implied expectations are.

... and per discussion with Alexis, enforce the addressing via ``dir``
attribute.