type ChannelHub = object type A = object macro clientRoute(procDef: typed): NimNode = return procDef proc handleMessage(msg: A, hub: ChannelHub) {.clientRoute.} = echo "Message2" # Surprisingly, this doesn't work