Reintroduced ref and value types, and added concept of restricted types to prevent unintentional converter reuse.  Fixed many bugs.