simplify deduce code
efficient vector implementation
use new Vector in watched literals