using algebraic-data-matcher