merged back ppx_pattern_guard
merged with pattern_guard