Can it also have an interface to query how many values a given box is holding?
Without that, any generic code to deal with boxes must receive the unboxed values
as a list.  Although clever compilers may eliminate construction of intermediate lists
in some cases, it'll be easier if one can get the information (e.g. one can have fast-path
for single-valued box, or check the box argument and reject early if the passed box
has different values than expected.)