Module Generalised_signatures

This repository contains case studies of defining highly-generalised module types by taking advantage of destructive substitution. See this blog post for details.

module Indexable : sig ... end
module Hashtbl : sig ... end
module Monads : sig ... end