Does Nim implement something similar the the channel / select pattern in Go ?
It is useful for dealing with a plurality of incoming messages on many channels concurrently.
select {
case msg := <-messages:
fmt.Println("received message", msg)
case sig := <-signals:
fmt.Println("received signal", sig)
default:
fmt.Println("no activity")
}