The type of the default lambda may be a subtype of the parameter type, so we can't really generate our own coercions at all as we don't know the precise Kotlin type of the `invoke` method.