Containers implemented using type-classes.