If a Python function returns
ZObject( original_Z1K1={ 'Z1K1': 'Z9', 'Z9K1': 'Z40' }, Z40K1='i am truthy' )
that object will just be serialized as
{ Z1K1: 'Z40', Z40K1: 'Z41' }
We should check types more strictly in executors.
We should also validate returned objects by inspecting Z1K1 (which should be fully resolved before the objects arrive to the evaluator).