Merge Ast types
On top of !767 (merged)
Regroup all types in ast_common.
the idea is to make the definition of new ASTs as simple as possible by only defining two variant types expression
and type_expression
which are a combination of the type of the library.
The same way, PP, passes, self_passes use function from the library. With this architecture, maintenance work and writing of new passes should be simplified
Edited by Pierre-Emmanuel Wulfman