com.thoughtworks.dsl
the self type
Curiously recurring template pattern for the reason why we need Instruction type parameter
Instruction