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.
assertThat(foo).hasKClass().isEqualTo(Foo::class)
assertThat(array).hasSize().isEqualTo(3)
assertThat(user).hasToString().isEqualTo("User[name=Alice]")