support conditionals in generators