For CSL, a Haskell implementation (as part of POETS) does exist.
If you want to try to get it working on your system, you will find instructions at
I have to warn you that after installing POETS on my system I did try running a few CSL programs through the REPL. They worked. But when I tried running a more complex contract of my own devising I discovered an apparent bug in the interpreter, to do with internal choice. Or maybe I just didn't understand CSL correctly and my contract was not very well formed. I don't know. But I gave up at that point with the takeaway that there is some good work here and we should definitely think about using some evolution of CSL / FormaLex as the core of L4.
I haven't looked at your alleged bug yet – but I do wish we could just ask ask a model checker for the answer!