Reimplement `SrcField` and `SrcVector` as Protocols
lang.SrcField
and lang.SrcVector
should be dropped and instead be replaced by appropriate protocol classes (e.g. SupportsFieldExtraction
and SupportsVectorExtraction
). This would remove the restriction that objects implementing these protocols have to be AugExpr
s. The IFieldExtraction
ABC can be removed in the process, as its interface can become the interface of SupportsFieldExtraction
.