pulled literal(type()) statement into task_goal to have a cleaner interface