The Roman numerals kata, with the twist of supporting both additional-subtractive and pure additional notation. Refactoring towards composable rules