Currently forward declarations for storage types are only for types from which the storage size is known from the forward declaration.
i.e. a pointer (in the disguise of a class instance ref). This is not possible for a Record, since to embed that in another class of structure the size is required.
To fix that would require a radical different multipass parser model, which is beyond the scope of this project atm.
Similarly forward procedure declarations also have the base declaration to call it, for exactly the same reasons.