For example, take this business logic:
Here different compensation methods are specified for the business logic methods 'doWork1' and 'doWork2'. For each call to doWork1, there needs to be a compensation participant registered in that BA, configured with the right compensate method. I think a developer would expect one call of the corresponding compensate, per call to doWorkX. I think the developer would also expect some way of knowing what work they where compensating. For example, having matching parameters and values for the work and compensate methods would allow the compensate to know what it was compensating.
This is not going to be trivial to implement as it will probably require some re-factoring to work.