adjusted to split from Match to Match and MatchState
forgotten to commit UnifierConfiguration that contains the cacheable
configuration of every unifier