has_ctor more cases