Reference/update of illegal field now throws NoDuchField exception.
Added "non_negative" primitive for bounds checking in solve statement
Added bounds check to code for solve statement