These interfaces define the source and targets for adaptation under the
The default adapter implementation uses a special attribute,
__annotations__, on the annotated object:
Because setting an attribute is somewhat intrusive (as opposed to storing
annotations elsewhere), this adapter requires that its context implment
IAttributeAnnotatable to signal that this attribute can be used.