Made impl_raw_constructors more general