Structure of a Specification:
- a header
- some arguments
- specification fragments
Note that the fragments have to be lazy in order to avoid cycles when 2 specifications are referencing each other with links
- Companion:
- object
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any