https://123dok.net/document/zgw09m2y-freespec-specifying-verifying-and-executing-impure-computations-in-coq.html