///|
fn print_visibility(vis : @syntax.Visibility, logger : StringBuilder) -> Unit {
  match vis {
    Default => ()
    Pub(attr~, ..) => {
      logger.write_string("pub")
      match attr {
        Some(a) => {
          logger.write_string("(")
          logger.write_string(a)
          logger.write_string(")")
        }
        None => ()
      }
      logger.write_string(" ")
    }
    Priv(..) => logger.write_string("priv ")
  }
}