creates instances of a value and a reference type