Did you know ... Search Documentation:
Predicate collect/4
 collect(+Source, +File, +Stream, +Options)[private]
Process data from Source. If File \== Source, we are processing an included file. Stream is the stream from which we read the program.