Если производительность - это проблема, которую вам придется измерить, если меньший объем памяти компенсирует стоимость приведений, это будет зависеть от того, сколько вы выполняете приведения.
Если производительность не является проблемой, я бы пошел с двойным, чтобы сделать код чище.