By default, all members in a struct can be accessed. It is possible to make some elements private by
prefixing them with _, as in:
struct Foo = { a, _b, c }
# (...)
let foo = Foo(1, 2, 3)In this case, _b is a private struct member. This means that foo: _b() and foo: _b(666) are
valid calls only if made from:
Any call to, say, foo: _b() from another module will yield a NoSuchMethodError exception.
Private struct members also have the following impact:
members() and values() calls, and
iterator()-provided iterators, and
equals() and hashCode(), and
toString() representations.