Each attribute has two accessor: one suffixed with Attr which returns the attribute itself
and one without the suffix which unwrap the attribute.
For example for a StringAttr attribute with a field named kind, we'll generate:
StringAttr getKindAttr();
StringRef getKind();
Is this copied from the non-adaptor code? I assume we can't share code here?