Designing by Contract (draft)

API oriented design