Haskell session types with (almost) no class
Reentrant polygon clipping