We were looking at an issue with @voodoos where merlin wasn't working in files with let%expect. We boiled it down to the fact that ppx_expect reads the input file, using the filename specified in locations of the AST.
It seems that there is something to do on the merlin side, but on the ppx_expect side it seems pointless to digest files when we are invoked by merlin.