currently broken because quasiquoter needs to generate card name constructors