pub type Program<N> = ProgramCore<N, Instruction<N>, Command<N>>;
struct Program<N> { /* private fields */ }