Added test to cover different constructor visibilities
Fixed but where implicit return types (if you don't say anything it's
"void") were causing modifiers to be set as the return type.