[x] restricted exposure via @(public scope) with scope variable
[x] rules around punctuation binders: public (even in restricted forms) punctuation must have a public alphanumeric alias disallow any re-exports of private bindings
[x] public constructors
[x] @opaque on data declarations (private constructors)
[x] good diagnostics
[x] thorough test suite
[x] (optional, otherwise future work) private-in-public linting (prototype, later becoming a standard error instead of a denied lint) moved to #70
@public
@(public scope)
withscope
variablerules around punctuation binders: public (even in restricted forms) punctuation must have a public alphanumeric aliasdisallow any re-exports of private bindings@opaque
on data declarations (private constructors)(optional, otherwise future work) private-in-public linting (prototype, later becoming a standard error instead of a denied lint)moved to #70