Add alias #<<.
Add some ADT, including nil pattern decorator for procs.
Refactor.
Remove unnecessary namespaces references.
Refactor code.