Currently, boxes are parameterized only by proposition, with a value type of Long. It seems that a lot of the code is intertwined with this assumption, but there's no particular reason why box values should be limited to Long.
One example is using String as the value type for a box in order to define access restrictions to a blockchain resource.