Reasons for Using Interfaces and Prototypes Over Classes in Effect Data Types

hi, might there be good references to why effect data types (e.g. HashMap) are written as such? I mean declaring an interface, then creating a Proto object then having a makeImpl to tie it together. Curious why not just regular
class
?
Was this page helpful?