WIP Track origins of types for better error reporting

'Origin' now replaces 'Location' in the constructors of
'Type a'.