Clear[step]
z0 = RandomComplex[(1+I)/10];
z0 = 0.02+0.05I;
points = {p[z0,0]};
lines={};
step[p[z_,lev_]] := Module[{inv},
inv=Sqrt[z];
newPoints = {p[inv,lev+1],p[-inv,lev+1]};
points = {points,newPoints};
lines = {lines,{line[z,inv,lev+1],line[z,-inv,lev+1]}};
newPoints];
step[latestPoints_List] := Flatten[step /@ latestPoints];
Nest[step,points,10];
gPoints = Flatten[points] /. p[z_,lev_] :> 
{PointSize[Max[0.05*(0.8^(lev+4)),0.0025]],Point[{Re[z],Im[z]}]};
gLines = Flatten[lines] /. line[z1_,z2_,lev_] :> Line[{{Re[z1],Im[z1]},{Re[z2],Im[z2]}}];

JuliaSetPlot[0, ColorFunction->None, PlotStyle->Black,
Epilog->gPoints, Frame->None]

Export["ii0.png",%, ImageSize -> {800,800}]

Sho

step[points]

step[%]

points

step[p[z_,lev_]] := Module[{sqrt,newPoints,newLines},
sqrt=Sqrt[z];
newPoints = {p[sqrt,lev+1],p[-sqrt,lev+1]};
newLines = {line[z0,sqrt,lev+1],line[z0,-sqrt,lev+1]};
{newPoints,newLines}];

step[latestPoints_List] := Module[{newPoints,newLines},
{newPoints,newLines} = step /@ latestPoints;
points = {points,newPoints};
lines={lines,newLines};
newPoints]

step[points]