Brainf*** subprograms with unique outputs
Score: 35 41 69 78 79 83
(Remove the newline.)
--&gt;+&gt;-&gt;+&gt;-&gt;+&gt;-&gt;+&gt;-&gt;+&gt;-&gt;+&gt;-&gt;+&gt;-&gt;+&gt;-&gt;+&gt;-&gt;+&gt;-&gt;+&gt;-&gt;+&gt;-
&gt;+&gt;-&gt;+&gt;-&gt;+&gt;-&gt;+&gt;-&gt;+&gt;-&gt;+&gt;-&gt;+&gt;-&gt;+&gt;++[&gt;[-&lt;+++&gt;]&lt;&lt;++]&gt;.

Try it online!
I'm not sure exactly why it works...
Score: 79
X-&gt;&gt;+&gt;+&gt;+&gt;+&gt;+&gt;+&gt;+&gt;+&gt;+&gt;+&gt;+&gt;+&gt;+&gt;+&gt;+&gt;+&gt;+&gt;+&gt;+&gt;+&gt;+&gt;+&gt;+&gt;
+&gt;+&gt;+&gt;+&gt;+&gt;+&gt;+&gt;+&gt;+&gt;+&gt;+&gt;+[&gt;[-&lt;+&gt;&gt;+&lt;]+&gt;[-&lt;+&gt;]&lt;&lt;&lt;+]&gt;&gt;.

Try it online!
It was supposed to sum 2*mem[i]*i and add the number of cells (+const) where the addresses are counted from the right to the left. The multiplier 2 and number of cells can make removing + and &gt; having different parity.
It indeed worked like that in the 69 points version. But the latest version broke that and got something else by coincidence. It calculates sum(mem[i]*i+i+1) and removing + and &gt; does almost the same, except for the sum(i) which has a difference of the number of cells, which is also the number of different output for either removing + and &gt;.
For the bonus:

 +.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.