func add4Inside<F<_>: Mappable<F>>(_ numF: F<Int>): F<Int> {
  numF.fmap { $0 + 4 }
}

func main() {
  let nums: [Int] = [1,2,3,4]
  let opt: Int? = 4
  let task: Task<Int, Error> = Task { 4 }
  let result: Result<Int, Error> = .success(10)

  add4Inside(nums) //> [5,6,7,8]
  add4Inside(opt) //> Optional(8)
  add4Inside(task) //> Task(8)
  add4Inside(result) //> Result.Success(14)
}