There are expected changes to how closedness works in a number of cases and issues.

Disallow non-hidden fields in closed structs

Issue 543

Currently, one can introduce a new definition into a closed struct. The proposal would eliminate this.

The follow should result in an error. Note that #bar is both an int and a string in foo.

// Given the original definition
#D: {
	a: int

// And a downstream usage
foo: #D & {
	#bar: int

// The original could be chagned to
#D: {
	a:    int
	#bar: string
We'll never share your email with anyone else.
2022 Hofstadter, Inc