code: Rule Barline() {
  		return FirstOf(
  			InvisibleBarline(),
  			TripleBarline(),
  			Sequence("::", ZeroOrMore(':'), '|').suppressNode(),
  			String("::").suppressNode(),
  			Sequence(
  				ZeroOrMore(':'),
  				ZeroOrMore('['),
  				OneOrMore('|'),
  				ZeroOrMore(']'),
  				ZeroOrMore(':')
  			).suppressNode(),
  			DashedBarline()
  		).label(Barline);
  	}
docs: barline ::= ( *":" *"[" 1*"|" *"]" ( *":" / nth-repeat-num ) )
  / invisible-barline / dashed-barline<p>
  e.g. <tt>:| | |:: |2 :||:</tt>