enhance to propose assert(nonempty) as well as assert(exists)