Implement a minimal `Option` that has `map` and `flatMap`.
```scala
import scala.{Option => _}
// implement here
sealed trait Option[A] {
def map[B](f: A => B): Option[B] = {
this match {
case Some(a) => Some(f(a))
case None => None
}
}
def flatMap[B](f: A => Option[B]): Option[B] = {
this match {
case Some(a) => f(a)
case None => None
}
}
}
case class Some[A](get: A) extends Option[A]
case class None extends Option[A]
Some(3).map(_+2)
Some(3).flatMap((x)=> Some(x+7))
```