multiple type definition error check added (test covering that case implemented
primitive type names moved to Lang module