Trying to understand why the different behavior in dict access in the following calls:
?- current_input(S), read_term(S, T, ), T = (_ :- G), writeq(G), nl, call(G). |: p :- A.foo = . _11462.foo= false. ?- A.foo = . ERROR: Arguments are not sufficiently instantiated ERROR: In: ERROR:  throw(error(instantiation_error,_11490)) ERROR:  '<meta-call>'(user:user: ...) <foreign> ERROR:  <user> ERROR: ERROR: Note: some frames are missing due to last-call optimization. ERROR: Re-run your program in debug mode (:- debug.) to get more detail.
Notably, why we get false in the first call.