We want this for two reasons: - extensibility: allowing anyone to build a codegen - decoupling dependencies: allowing a more flexible version set of the target ecosystem like CiTL or Plutarch