pub fn cast(step: *Step, comptime T: type) ?*T
pub fn cast(step: *Step, comptime T: type) ?*T { if (step.tag == T.base_tag) return @fieldParentPtr("step", step); return null; }