Add a Mara.set_primitive function and a missing line in Mara.diffuse