interface A
interface B

val f1: context(A) () -> Unit = { }

val f2: context(B, A) Int.() -> Unit = { }

val f3: (Int) -> (context(A) (String) -> String) = { { "" } }

val f4: (context(A) B.(Int) -> Unit) -> (context(B) (Int) -> Unit) = { { } }
