Before creating a pull request, you are encouraged to create an issue to discuss the proposed changes.
When contributing any new code, any new or changed behavior should have corresponding tests.
Any changes should also be added to [CHANGELOG.md](CHANGELOG.md) which follows the [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) format.
