Make patterns work better.
Write Prolog files with erl_ prefix to avoid name clashes.
Add remaining non-atomic guards.