Type inference failed:
fun <`T, R> foo ( a: A<`T, R> ) : A<`T, R>
cannot be applied to
( (???) → ??? )