Obviously, this feature requires dotty.
By using Context Functions we can get rid of the implicit msg => that litters many a bot.
This example works in a dotty project:
type MsgHandler = Message ?=> Future[Unit]
def onCmd(filter: CommandFilterMagnet)(action: MsgHandler) = onCommand(filter)(implicit msg => action)
onCmd("foo") { reply("bar").void }