A reversible_pattern is a pattern that can be matched end-to-start.