Is returning early from a constructor a good idea?  What state will the resulting object be in?  (I think the previous code was pretty dubious on this front too.)