add Pattern Matching against types