Restored original dict update behaviour as dict_update
Added attribute access (optional) and cross-collection lookup