When a non abstract contract has a constructor, and that constructor is "replaced" by an internal initializer in the transpiled version, then the transpiled version should not be deployable without the initializer being somehow exposed. Therefore, transpiled that have an internal initializer should be marked as abstract.