Refactor Throwable{Cause,Message}Matcher and fix some type signatures