Better Modeling Through Records: Where OOP meets FP by Akın Kaldıroğlu