code: func lexNumberOrDuration(l *lexer) stateFn {
  	if l.scanNumber() {
  		l.emit(ItemNumber)
  		return lexStatements
  	}
  	// Next two chars must be a valid unit and a non-alphanumeric.
  	if l.accept("smhdwy") {
  		if isAlphaNumeric(l.next()) {
  			return l.errorf("bad number or duration syntax: %q", l.input[l.start:l.pos])
  		}
  		l.backup()
  		l.emit(ItemDuration)
  		return lexStatements
  	}
  	return l.errorf("bad number or duration syntax: %q", l.input[l.start:l.pos])
  }
docs: // lexNumberOrDuration scans a number or a duration item.