give gen spec its own type (unrelated to previous type of same name); move parsing to a fund & add test