add evaluate to all literals; refactor specs