hmm I think this won't work, let's assume:
mid#(20,320)
is
diff=(320-20)/2=150
return 20+150
where the middle between the angles 20° and 320° would be 350° (imagine the circle), and not 170°.
mid#(20,320)
is
diff=(320-20)/2=150
return 20+150
where the middle between the angles 20° and 320° would be 350° (imagine the circle), and not 170°.