Add: support for recursive types.
Fix: a minor parsing bug, a type checking bug and a few type casting bugs.
Add: support for wrapping interface types;
Remove: string.collect() method.