package local:demo; interface my-interface { variant stuff { this, that } // NB: this record used to be empty, but that's no longer valid, so now it's // non-empty. Don't want to delete the whole test however. record empty { not-empty-anymore: bool, } stuff-or-stuff: func() -> result; stuff-or-empty: func() -> result; empty-or-stuff: func() -> result; empty-or-empty: func() -> result; stuff-or-absent: func() -> result; absent-or-stuff: func() -> result<_, stuff>; empty-or-absent: func() -> result; absent-or-empty: func() -> result<_, empty>; absent-or-absent: func() -> result; } world my-world { import my-interface; }