I would say the `Matches` function is unnecessary (plus for convention, we use the capitalize only for constructors): we already branch out above, it's not necessary doing that twice.