One structure should define a type and its behavior while another object should hold the value and its type.