Not positive but I believe that making a type instantiable or not is not applicable by context.
It's a very common need (desire) to constraint what sub type(s) can be created in any given Product or Library. All of the PTC Help info, examples, training, demo's, etc. have a very long list of Document types available to users and rely on users correctly selecting from the list.
The way we've approached this exact situation for many years is not all that elegant and is somewhat laborious, but works like a charm once set up. It may be possible to do this also via ACL's but we haven't found a robust way to do so.
* Enable all sub types that users need to be able to create anywhere
* In each context where you do not want certain sub types to be created, create a OIR with just the Lifecycle element - specifying a lifecycle that doesn't exist. We label these as "Prevent" OIRs.
o If in any context there is only one remaining type, then the drop-down for type selection disappears and the user has no choice. This is the situation we have for many special-purpose libraries in which only one document type can be created.
examples[cid:image002.png@01CF7E3D.B78B0580]
[cid:image003.png@01CF7E3D.B78B0580]