It’s not clear to me from docs/td files/cpp files how InstanceOp and HWInstanceOp are different in fsm dialect (CIRCT)