pass an fn directly into the create-primitive-description function