`module Signature : sig ... end`
`module File : sig ... end`
`module Ctypes : sig ... end`

### Interfaces to basic Metapost datatypes

`module Num : sig ... end`

Abstract numeric values

`module Color : sig ... end`

Definitions of many colors

`module Point : sig ... end`

Points in the plane

`module MetaPath : sig ... end`

MetaPaths: gradually build a path with constraints, get a real path at thxe end.

`module Path : sig ... end`

Fixed Paths

`module Brush : sig ... end`

Brushes : change the way lines are drawn in Mlpost

`module Transform : sig ... end`

Apply linear transformations to objects in Mlpost

`module Picture : sig ... end`

Functions to manipulate commands as if they were pictures

`module Command : sig ... end`

Basic drawing commands

### Advanced graphical components

`module Shapes : sig ... end`

Rectangles, Circles, etc.

`module Box : sig ... end`

A Box is a rectangle with some content and a (not necessarily rectangular) frame. Boxes can be placed, aligned and modified.

`module Triangle : sig ... end`

Tree-like, triangular shapes, with a root on top and an horizontal bottom line.

`module Arrow : sig ... end`

Draw arrows and build new forms of arrows.

### Helpers and Extensions

`module Helpers : sig ... end`

A few helper functions

`module Tree : sig ... end`

Create and draw trees

`module Tree_adv : sig ... end`

EXPERIMENTAL: A new way of placing trees.

`module Diag : sig ... end`

Create simple diagrams by placing objects in a table. Deprecated.

`module Plot : sig ... end`

A simple and limited way of plotting functions from int to int.

`module Real_plot : sig ... end`

A simple and limited way of plotting functions from float to float.

`module Hist : sig ... end`

Draw Bar diagrams (Histograms).

`module Radar : sig ... end`

Radar diagrams.

`module Legend : sig ... end`

Build a legend for diagrams.

### Metapost generation

`module Metapost : sig ... end`

Functions to generate Metapost files

`module Concrete : sig ... end`

Compute concrete values of numerics, points and paths; not always available

`module Cairost : sig ... end`

Use the Cairo backend to draw your figures; not always available

`module Defaults : sig ... end`