Module Signature
A module to declare any finite type as a signature type, without a separate declaration.
With this module, rather than writing signature class ExprSig extends Expr;, you can simply
declare a module module MyModule<Signature<Expr>::Type T> { ... } to declare a parameterized
module that takes a type that extends Expr as a parameter.
To create an infinite signature type, use InfSignature instead.
Import path
import qtil.parameterization.SignatureTypes