///|
priv struct Worker {
  id : String
} derive(Hash, @json.FromJson, ToJson)

///|
impl @moonchor.Location for Worker with fn name(self) {
  self.id
}

///|
fn Worker::new(id : String) -> Worker {
  Worker::{ id, }
}

///|
impl Show for Worker with fn output(self, logger) {
  logger.write_string(self.id)
}

///|
impl @moonchor.Message for Worker

///|
extend Worker with @moonchor.Location::{name}