Contributions are welcomed with open arms, provided they adhere to the following:
- A proposal should not add an unecessary level of complexity to the project, as it's primary goal is always to serve as the simplest possible VM for learning purposes.
- All proposals should originate from an issue.
- Any pull request addressing a proposal should target a specific concern - i.e. it should not address multiple different issues in the same pull request. This is so that any individual piee of change can be discussed.
- A pull request should not modifiy the overall coding style used in the project. It should not change the formatting of other parts of the code. All the standard rules apply: Good meaningful names, limit magic numbers, etc.
- Code added should be tested. Existing tests should not break. Test code should not be removed unless the associated code was also removed.