This is actually really important and explains why you've introduced the two ``newtype``s. Would it be better to mention this earlier in the article?