code: func StrictParse(r io.Reader) (Env, error) {
  	env := make(Env)
  	scanner := bufio.NewScanner(r)
  
  	i := 1
  	bom := string([]byte{239, 187, 191})
  
  	for scanner.Scan() {
  		line := scanner.Text()
  
  		if i == 1 {
  			line = strings.TrimPrefix(line, bom)
  		}
  
  		i++
  
  		err := parseLine(line, env)
  		if err != nil {
  			return env, err
  		}
  	}
  
  	return env, nil
  }
docs: // StrictParse is a function to parse line by line any io.Reader supplied and returns the valid Env key/value pair of valid variables.
  // It expands the value of a variable from environment variable, but does not set the value to the environment itself.
  // This function is returning an error if there is any invalid lines.