Arbitrary type reader can't handle multiple Java constructors

For example with String, the "primary" constructor is the no-arg constructor, which is not the one we want.