Makes sense. I wonder if it would actually make more sense to just plug a function that generates the mask because in general it's just:
fn complete(input, masker):
completion = input
while (not done yet):
mask = masker(completion)
completion = complete(complete, mask)
end
return completion
end
is that accurate?