/* Regression test. Improper handling of OptionalT repositioning can cause * reasons to grow "optional x" -> "optional optional x" -> "optional optional * optional x", which thwarts reason-based caches that prevent nontermination. */ function f(x:T,y?:T) { x = y }