`module type S_simple : sig ... end`

The interface for a basic, incrementally rendered application.

`module type S_imperative : sig ... end`

The interface for a basic, incrementally rendered application with the possibility for a mutable model.

`module type S_derived : sig ... end`

An extension of the basic API that supports the use of a derived model. The purpose of this is to allow sharing of an incremental computation between the creation of the view and the application of an action.