When updating the docs to show some examples for m decompose I was trying some very large prompts.
Occasionally - and seemingly dependent on prompt size - the ordering of user variables in occasionally incorrect.
That is the output will create an instruct you will occasionally see something like
foo = m.instruct(...
],
user_variables={"bar": bar.value}...
bar = m.instruct(...
],...
This will result in an error similar to:
NameError: name 'bar' is not defined
as it is trying to access the data before it is created.