Until r←[x](F⍣G)y

r is the result of calling [x∘]F on y until G called with the result of the last two executions is 1, starting with y.