make get and set primitives behave nicely instead of forcing arbitrary and unecessary data structure creation onto users