ppx_whereversion

Haskell-style `where` clauses as a PPX syntax extension

ppx_where allows for the use of where clauses after expressions
by rewriting the where syntax into let ... in syntax at
compile-time. Additionally, ppx_where allows for some limited
pattern matching such as that allowed in-place for arguments
in normal function bindings.