andrewbutterfield/separation-logic-in-haskell archive