outline: first implementation (see #155 )

This is only partially done, more support is required for:
  - exceptions definition
  - objects types and polymorphic variant types
  - classes definition