Types: added TypeContext that owns all types