- Enables using with more variadic sized operands;
- Generate convenience accessors for attributes;
- The accessor are named the same as their name in ODS and returns attribute type (not convenience type) and no derived attributes.
This would also allow verifying argument constraints before the op is even
created (and dedupe some checking between shapes and created ops). This does
not change the name of adaptor nor does it require it except for ops with
variadic operands to keep this change smaller. The named attributes created
such could potentially also replace the xAttr variants being generated.
I considered creating separate adapter for attributes but decided against that
given operands queries require attributes in general (and definitely for
verification of operands and attributes).