TYPEs are allowed everywhere in QB64 and have global scope. This allows you, for example, to ship a library that uses a certain TYPE without having to add a .BI file (although adding it to a .bi file to go at the top is good practice, in case users of your library will want to use Option _Explicit). Provided they've been declared before a Sub/Function, they can also be used as parameters to such Sub/Function.