More updates to _val & _pass handling

Still looking at add_var, which is using _a to handle _pass