base.Block

imm #[X$0,R$0](_: X$0, res: R$0): R$0 -> …,
imm #[X1$0,X2$0,R$0](_: X1$0, _: X2$0, res: R$0): R$0 -> …,
imm #[X1$0,X2$0,X3$0,R$0](_: X1$0, _: X2$0, _: X3$0, res: R$0): R$0 -> …,
imm #[X1$0,X2$0,X3$0,X4$0,R$0](_: X1$0, _: X2$0, _: X3$0, _: X4$0, res: R$0): R$0 -> …,
imm #[R$0]: mut base.Block[R$0] -> …,
imm #[X$0](x: X$0): imm base.Void -> …,
imm #[X$0,R$0](_: X$0, res: R$0): R$0 -> …,
imm #[X1$0,X2$0,R$0](_: X1$0, _: X2$0, res: R$0): R$0 -> …,
imm #[X1$0,X2$0,X3$0,R$0](_: X1$0, _: X2$0, _: X3$0, res: R$0): R$0 -> …,
imm #[X1$0,X2$0,X3$0,X4$0,R$0](_: X1$0, _: X2$0, _: X3$0, _: X4$0, res: R$0): R$0 -> …,
imm #[R$0]: mut base.Block[R$0] -> …,
imm #[X$0](x: X$0): imm base.Void -> …,