- Problem

- Abstract syntax

- Concrete syntax

- Generate tree module

- Write transfer code
 - Derive Compos and Eq


