plotting – How to stack several vector plots using StreamPlot?

I would like to plot several stream plots as is in ref/StreamPlot (Mathematica 12).

As is reported in the section: Generate a list of stream plots of varying (Lambda):

I did not change but it does not work as this example.

The problem is, there is field that may represent a bidimensional vector (Electric,Acoustic), this is the code.

a = 1; b = 1;  (* fixed values, constants *)

f1 = (-y  l )/(y^2 + a x^2);

f2 = ( x l )/(b y^2 + x^2);


l = {-1, 0, 1};  (* This can take several values *)

plots = MapIndexed(
  Function({f1, f2}, 
   StreamPlot({f1, f2}, {x, -3, 3}, {y, -3, 3}, StreamPoints -> 16, 
    StreamScale -> 0.07, 
    StreamStyle -> ColorData("SolarColors")(0.3 l((1))))), l)

plotSpacing = 5;
stackPlots(plots, plotSpacing, Axes -> True, Boxed -> False, 
 Ticks -> {Automatic, Automatic, 
   MapIndexed({plotSpacing #2((1)), Row({"l = ", #1})} &, values)})

It does not work, only the constant value is plotted. the function can not take different values as must be. This function does not evaluate the vector.Thanks!