Preferred implementation of OR ';' is in Java, but checked that its
Prolog implementation is OK as well.
No really sure how a free var should be represented . but OK.
COmments
More testing on OR
Some test still not worknig
Use separate intermediate vars, helps a lot when debugging.
shallowCopy instead of deep copy.