NUClear Smart Types and Every Smart Type