Perhaps overkill, but now handling generic data types.