Why is underscore permitted in the post type but dash is disallowed?

Why is underscore permitted in the post type but dash is disallowed. Dash is the default character for permalinks. Post Types created using the underscore are not found! I fixed this by updating the validate-field function in core/content-types.php. My question is why is underscore permitted and dash disallowed? My second question is can you add support for dash so I don’t need to patch this plugin on every upissue. Thanks in advance.