Experiences in bridging from functional to object-oriented programming