Works with all primitive types. Tested