tailrec f(x: () -> T = { y }, y: T = ...) = f() -- at the call we know that in `x` the observed value of `y` is `null`, but the constructor should still have a single parameter.