There is no right or wrong programming paradigm. In family tree, it's obvious to choose OOP instead of functional programing. I have no idea how to implement this kind of data into functional programming. Check out this answer, isn't it just stunning and amazing?