I'm not sure, but doesn't this `!!` fail for the case:
`{ (x: Int, : String): Unit -> }` ?