dberlin added a comment. Could you explain the issue with optimizing uses that is making it hard to write tests? I mean, at worst we could add a protected constructor, but i'd like to understand the underlying issue first. https://reviews.llvm.org/D30344