Massive update. Previously type checking was possible only for closed types. This limitation has now been removed.
Type checking is now simply a consequence of regular constraint propagation, previously it was a separate pass. Nevertheless, the system is still statically typed