Functions renamed and reordered.
ContradictionException and LazyEvaluation.

Added ContradictionException to notify about contradictions
during processing. Extracted functions invocations into separate
variables due to lazy evaluation side effects.
Reordered functions.
Added transactional mechanism.