class Test var _name as String? cue init base.init cue init(name as String) .init _name = name get name as String return _name ? .getType.name # used to be a bug def foo t as Test? = Test('foo') s = (t ? Test()).name assert s == 'foo' assert (Test().nilableProperty ? 'aoeu') == 'aoeu' # augmented assign ?= t1 as Test? = Test('foo') t1 ?= Test() s = t1.name assert s == 'foo' get nilableProperty as String? return nil class Program def main t as Test = Test() assert t.name=='Test', t.name t.foo