The current naming is mostly just the property name as the function name. There's `kClass()`, collection `size()`s, exception `message()`. This strategy doesn't work for `toString()` or `hashCode()`. They get "Fun" suffixes as `toStringFun()` and `hashCodeFun()`, respectively. This ties in somewhat with #521, and it actually leans me towards that issue choosing "have" so that these could be "has"-prefixed. ```kotlin assertThat(foo).hasKClass().isEqualTo(Foo::class) assertThat(array).hasSize().isEqualTo(3) assertThat(user).hasToString().isEqualTo("User[name=Alice]") ```