foo Module

Executive summary... a few lines
Imports: list of imported modules

English description -- about one paragraph
Implicit State
a list of variables; may or may not correspond to internal state
int size;
Size of the array
T f[];
The array...

Constructors and Destructors
some examples...
Array(int s)
Preconditions: x >=0 and x < size
Create an array of size s, init elements via the no-arg constructor for T
Postcondition: size=s
Array()
Syntactic sugar for Array(100)

Operations
the list of operations, here is an example:
T Get(int x) const
Preconditions: x >=0 and x < size
Modifies: none
Returns f[x]

Invariants
Author: John Q. Public