TypeError: Object of type <class 'bloqade.analog.builder.waveform.Apply'> is not JSON serializable. Only (<class 'bloqade.analog.task.base.Geometry'>, <class 'bloqade.analog.task.exclusive.ExclusiveRemoteTask'>, <class 'bloqade.analog.task.quera.QuEraTask'>, <class 'bloqade.analog.task.braket.BraketTask'>, <class 'bloqade.analog.emulate.ir.atom_type.ThreeLevelAtomType'>, <class 'bloqade.analog.emulate.ir.atom_type.TwoLevelAtomType'>, <class 'bloqade.analog.emulate.ir.emulator.JITWaveform'>, <class 'bloqade.analog.emulate.ir.emulator.RabiOperatorData'>, <class 'bloqade.analog.emulate.ir.emulator.RabiTerm'>, <class 'bloqade.analog.emulate.ir.emulator.DetuningOperatorData'>, <class 'bloqade.analog.emulate.ir.emulator.DetuningTerm'>, <class 'bloqade.analog.emulate.ir.emulator.Fields'>, <class 'bloqade.analog.emulate.ir.emulator.Register'>, <class 'bloqade.analog.emulate.ir.emulator.EmulatorProgram'>, <class 'bloqade.analog.task.bloqade.BloqadeTask'>, <class 'bloqade.analog.task.braket_simulator.BraketEmulatorTask'>, <class 'bloqade.analog.task.batch.LocalBatch'>, <class 'bloqade.analog.task.batch.TaskError'>, <class 'bloqade.analog.task.batch.BatchErrors'>, <class 'bloqade.analog.task.batch.RemoteBatch'>) are supported.
Describe the bug
Calling
bloqade.analog.save(program)on a program made via a builder raises the errorThis behavior extends beyond
savewith other methods as well.Minimal broken example
A program where the last chain define is
applyExpected behavior
Programs should have indistinguishable behavior independent of how they are built