todo: BoxedType.match