Here I'm attempting to invoke a function with the use of implicit's. To try to remove as much boiler plate code as possible invoking function using : 

```
("a" and "j", {
  println("Hello");
})

```

But this does not invoke `f1` 

how to invoke the function `f1` with the call 

```
("a" and "j", {
  println("Hello");
}) 

```

?

Complete code : 

```
   object First extends App {

      case class Commands(val list: List[String]) {
        def and(that: String) = Commands(that :: list)
      }
      implicit def l(cmd: String) = Commands(cmd :: Nil)

      implicit def f1(implicit d: (Commands, () => Unit)): Unit = {
        val launchCommand = d._1.list.reverse.mkString("") + "::"
        println(launchCommand)

        println("This method is not being invoked");
        d._2()
      }

      ("a" and "j", {
        println("Hello");
      })

    }

```

Update : 

```
object First extends App {

  case class Commands(val list: List[String]) {
    def and(that: String) = Commands(that :: list)
  }
  implicit def l(cmd: String) = Commands(cmd :: Nil)

  implicit def f1(implicit d: (Commands, () => Unit)): Unit = {
    val launchCommand = d._1.list.reverse.mkString("") + "::"
    println(launchCommand)

    println("This method is not being invoked");
    d._2()
  }

  implicit val commandAndFunc = ("a" and "j", {
    println("Hello");
  })

  f1
}

```

`f1` causes compiler error : 

```
Multiple markers at this line:
◾not enough arguments for method f1: (implicit d: (First.Commands, () ⇒ Unit))Unit. Unspecified value parameter d.
◾could not find implicit value for parameter d: (First.Commands, () ⇒ Unit)

```