以下の抜粋でアンダースコアはどういう意味ですか. これは scalaz7 ライブラリの一部です:
trait Apply[F[_]] extends Functor[F] { self =>
  //...
  def ap[A, B](fa: => F[A])(f: => F[A => B]): F[B]
  //...
  def apF[A, B](f: => F[A => B]): F[A] => F[B] = ap(_)(f)   // <----HERE
  //...
}
それを使用する一般的なルールは何ですか?