Well, structured datatypes such as records (User Defined Types in VB, or Structs/Unions in C++), must have their structures defined first before they can be simply declared using their datatype.
e.g. if you made a coordinate datatype, in VB, you would do something like:
Type Coordinate
X...