Finned Swordfish: row 3, row 6, row 8 and col E, col H, col I on 2 (I5-2)
All the possible positions of the value 2 in three base rows are in the same three cover cols; except row 6 which has extra fins G6-2, but each elimination sees all of the fins.
Hence if any of the fins were 2 then I5-2 still could not be 2, and 2 must either be in the fish or in one of the fins, so either way we can remove 2 from covers except bases that see all of the fins.
Therefore we can remove I5-2.
Explanation
Finned fish increase the utility of the Fish concept by expanding the number of hints produced, at the cost of limited eliminations. A prima facea look at fins says it breaks the core Fish covenant: N bases have only N places for value, hence the value is "locked into" these bases, but adding the restriction that each elimination sees all of the fins props-up the whole deal, so it's logically valid, it's just a bit slow Redge.
Note that BasicFisherman is S__TLOADS faster than ComplexFisherman coz it's much simpler. A genius would work-out how to find finned fish efficiently. I'm just a stupid programmer. This is the best I can do: A bit s__t; and it only gets worse from here, in terms of complexity, if not time.