feat(library/definitional/projection): add projection generator, closes #257
feat(library/definitional/projection): add projection generator, closes #257