code: func BuildSource(s string) *Source {
  	var result []string
  	var lineBuf bytes.Buffer
  	for _, runeValue := range s {
  		lineBuf.WriteRune(runeValue)
  		if runeValue == '\n' {
  			result = append(result, lineBuf.String())
  			lineBuf.Reset()
  		}
  	}
  	rest := lineBuf.String()
  	// Stuff after last end-of-line (EOF or some more code)
  	result = append(result, rest+"\n")
  	return &Source{result}
  }
docs: // BuildSource transforms a source file string into a Source struct.
  // TODO: This seems like a job for strings.Split() with a final \n touch-up.