Create a file named ASSIGNMENT.md that contains detailed instructions for implementing the coding task (follows ## CODING_TASK).
The document should be written for a student and structured as a learning assignment.
- Explain the concepts, language features, syntax and libraries that are relevant to the task.
- Provide step-by-step guidance describing how the task should be implemented.
- Do not include full solutions or complete code.
- Include small illustrative snippets where helpful.
- Provide clear pointers to where changes should be made in the codebase (file names, functions, modules, etc.).
- Emphasise learning outcomes, explaining what the student will understand or practice by completing the task.
- Encourage the student to think through the implementation, rather than copying code.
The instructions should be detailed enough that a student can complete the task independently while still requiring them to write the actual implementation themselves. Even if the ASSIGNMENT is not done, student should be able to learn by reading explanations.
-- explain the actual task here --