Question 0: How do injective envelopes work in constructive mathematics?
For example,
Question 1: How strong is it to assert internally that there are enough injectives (in the category of sets, say)? (Externally, every topos has enough injectives thanks to the subobject classifier.)
Question 2: How about injective envelopes?
The usual way to construct injective envelopes is quite choice-y. And their notorious lack of functoriality certainly suggests that their existence is probably some sort of choice principle.
An example I have in mind is that in the topos of simplicial sets, $\Delta^1$ is probably the injective envelope of $Bool$, smaller than the "canonical" injective resolution given by $\Omega$. The two embeddings $=0, =1 : \Delta^1 \rightrightarrows \Omega$ are indicative of the non-canonical nature of the construction. This example suggests to me that asserting the existence of an injective envelope of Bool might even be a nice axiom for synthetic domain theory.... (especially since injectivity is often a completeness condition. For example, the injective posets are exaclty the complete lattices...)