You should also define a set of algebraic properties that you want all of these operations to satisfy in practice.Any actual instance of this type class that satisfies all of our conditions is an implementation of an exokernel.Then your libOS, the part that does all the nasty work of management of resources, can be polymorphic over the implementation and only work with the basic protection interfa