code: func (l *lexer) comment() ([]rune, Error) {
  	_comment := make([]rune, 0)
  
  	// read until we reach end of line or end of file
  	//		- as we are in a comment, we ignore escape characters
  	for {
  		_next, _err := l.read()
  		if _err != nil {
  			return _comment, _err
  		}
  
  		// read until we have end of line or end of file
  		switch _next {
  		case _CR:
  			fallthrough
  		case _NEWLINE:
  			fallthrough
  		case _EOF:
  			// return the read run to the stream and stop
  			l.unread(_next)
  			return _comment, nil
  		}
  
  		// otherwise, add this run to the comment
  		_comment = append(_comment, _next)
  	}
  }
docs: // comment reads all runes until a newline or end of file is reached. An
  // error is returned if an error is encountered reading from the stream.