Refactoring, declaring predicates is now optional (most of the time).
Factored out builtins into separate file.