groostav
note of course that `suspend val`s do not yet exist, but im hoping their behaviour is fairly obvious