<div dir="ltr">for me a rule of thumb for choosing features / extensions is: if I see compiler errors, I should understand them and know how to fix them.<br>​<div>Parameterized types, type sinonyms, records and classes with as few extensions as possible are pretty much all I use, type wise. You can do a lot with them alone.</div></div>