Difficulty understanding this Scala syntax

Looking to implement HTTP4s in a project and came across an example which used F[_]. I began to read this article which drops this piece of code

trait WithMap[F[_]] {
def map[A,B](fa: F[A])(f: A => B): F[B]
}

Correct me if I'm wrong please. This is a trait that takes a type constructor? Where can I read about this syntax? I'm not quite sure what the below represents either. I see it as a map that takes type A and returns a Type B.

def map[A,B](fa: F[A])(f: A => B): F[B]