OOP, FP, and object-relational impedance mismatch