That's a really nice article, thanks. And I can see how separating the validation logic from processing code is useful.
What's not clear to me is why you chose this approach over existing OOP techniques, such as GoF Adapter Pattern, or even just interface implementation (as Go looses a lot of the ceremony of Java/C#).