Is your design idea/issue related to a use case or problem? Please explain
TaggedOperation and such tend to be troublesome both for users to use (have to remember to unwrap everywhere) and for maintainers to maintain (have to remember to forward any new protocols, implement all new base methods).
Describe your design idea/issue
Make a Tagged object proxy or use a popular third party one like wrapt, and eliminate the manual plumbing and upkeep of forwarding method and protocol calls, have isinstance work how users expect, and allow the same behavior for gates, qubits, moments, etc without needing individual classes for each.
Is your design idea/issue related to a use case or problem? Please explain
TaggedOperationand such tend to be troublesome both for users to use (have to remember to unwrap everywhere) and for maintainers to maintain (have to remember to forward any new protocols, implement all new base methods).Describe your design idea/issue
Make a
Taggedobject proxy or use a popular third party one like wrapt, and eliminate the manual plumbing and upkeep of forwarding method and protocol calls, haveisinstancework how users expect, and allow the same behavior for gates, qubits, moments, etc without needing individual classes for each.