adding a provide-types field to s-program, and pushing it through