updating Tensor to work with std::conditional instead of my meta If