I thought safi was invariable ... wiktionary agrees with me. Is this a noun meaning "clean person"?
What does being clean have to do with being a child or a prefect? Is there some other translation of this in English that makes more sense?
As I understand it, the trick is that the noun 'msafi' and the adjective + singular noun class agreement 'msafi' are spelled the same; therefore one must decide based on context which is a more natural English solution here.