Peter,
I think that the point that orangeCat has highlighted is fundamental here. TypeDefs should be defined in standard code modules. Otherwise, they are much harder to reference and very much less generally useful.
That said, ADezii's comments, while not identifying actual show-stoppers at this stage, are definitely worth taking note of. You are cetainly likely to hit problems if you use names that are already in use elsewhere, even if the problems can be got around with care. Much better to avoid this likelihood.
Lastly, you have tried (by the look of it) to format your code in tags. They weren't the correct tags, but I appreciate the attempt. Perhaps the following will help you to use the correct ones in future. They are designed to be quite easy to use :
You should know that we expect your code to be posted in [code] tags (See How to Ask a Question and indeed the instructions in the posting window itself).
PS. Tags (generally) are done as matching pairs where the opening one is surrounded by [...] and the closing one by [/...]. A set of buttons is available for ease of use in the Standard Editor (Not the Basic Editor). The one for the [code] tags has a hash (#) on it. You can choose which editor to use in your Profile Options (Look near the bottom of the page). You must select the code in your post, and hit the button on the tool bar which looks like a hash (#). This will automatically format the post such that the [code] tags surround the code you're posting. This will display the code in a Code Box, quite differently from the standard formatting of a post.