A possible reason why function_agreement was not useful in our previous work may be related to the excess of information that we attempted to convey as a single feature.
in the presently extended set of features this information is split into six separate features (namely, i_subject, i_direct, i_indirect, j_subject, j_direct and j_indirect), from which we expect to derive the required syntactic constraints as originally intended, whilst allowing each individual feature to influence the solution independently.