fun <T> assertSoftly(block: () -> T): T
infix fun <T, U : T> T.shouldBe(any: U?): Unit
infix fun <T> T.shouldNotBe(any: Any?): Unit
fun <T : Throwable> shouldThrow(block: () -> Any?): T
fun shouldThrowAnyUnit(block: () -> Unit): Throwable