É possível implementar uma variável "abstrata" dentro de um tipo no Fortran 2003?

Eu gostaria de escrever um tipo abstrato

type, abstract :: Vehicle
    real, dimension(:), allocatable:: Wheels 
    contains
     procedure (Compute_Weight), deferred :: VehicleWeight
end type Vehicle

eu gostaria de ter um espaço reservado no tipo abstrato para um array de tal forma que ele pudesse ser substituído ou redefinido no tipo estendido com algo como

type, extends(Vehicle) :: Bike
     allocate(Wheels(2))
    contains
     procedure :: VehicleWeight => BikeWeight
end type Bike

    type, extends(Vehicle) :: Car
     allocate(Wheels(4))
    contains
     procedure :: VehicleWeight => CarWeight
end type Car

GCC compilador reclama (justamente eu acho), e a única solução que eu poderia encontrar para este problema é apenas para não declarar a função alocável no tipo abstrato e declarar a variável diretamente com o tamanho correto dentro do tipo. No entanto, eu gostaria de ter uma espécie de espaço reservado para impor a implementação da propriedade fundamental descrita por Wheels (um protótipo). Eu

questionAnswers(1)

yourAnswerToTheQuestion