Switched to diamond inference
Added NameManager to generate new names