I mean your example is a classic case.
And there are different algos, for diamondtypes:
Once a character is seen by clients any delete of it wins, algos like diamond types reconstruct each clients stream.
So in the case of DT, effect is absolutely gone, two clients deleting the e and one client deleted the ffects, and they both started at the same causal slice, but the A is a good question. You might just end up with an A.
In the case of multiple inserts in the same position dt uses the client ids lexical sort for ordering to reduce text interleaving.
Other crdt approaches may be positional or last write wins, in which case you may end up with nothing.
Besides being an amazing project loro crdts documentation and blog covers a lot of this stuff and names the specific algos they use.