3.0 inflector

`hyphenate()` can be useful for e.g. in a custom inflected route which generates hyphenated instead of underscored words.
actually none represents a good "missing" value. I think in this case false is better as it is not a string, while null can be.