Module are base nodes used in model. They extends Node (additionally to the extended class they have - double extensions in java youhou).
Additionally modules are created with a default constructor (aka a way for groimp to create them without parameters)
e.g. module A(int len) {} can be added in a production rule with A(), A, A(1), …
Module are also compiled with a default pattern. e.g. they can be added in predicate with an attribute pattern: (with the same A as before)
[ A(x, y) =⇒ ;]
x will be the instanceof the A, and y, the (int) len.