Major redesign of the extension mechanism
Formatting
Simplify checking of inline and block constraints
Port examples to new extension mechanism
Add missing equality check