In particular, I am looking for two related things. Firstly, I'm looking for a suitable interpretation of the O←S←P→I story in functor categories, yielding polynomial functors between presheaves. Secondly, I'm looking for a complete syntactic presentation of the same notion, from which the such-thattery required to establish presheaf structure has been eliminated. Concretely, I want to codify which datatype declarations exhibit presheaf structure a priori, so that I can obtain it deliberately and for but the effort of asking. It's kind of funny: I'm not trying to prove that one or two specific constructions yield presheaves; I'm exactly trying to stop proving that and just see it instead.