Hints/attributes for properties and types
The idea is to provide compiler and runtime with some info about the purpose of the member. This info can be used either to generate more usable and/or more performant code, or it can be passed to runtime and used by runtime somehow, or can be used by other tools.

```yaml
seq:
  - id: signature
    hint:
      - signature # informs the implementation that it can scan the blob for the bytes in contents. Informs the compiler to generate offset for this field and to emit a warning if there is no 'contents' attribute
    contents: "signature"
  - id: reserved
    hint:
      - format_version # valid only for anything that can be considered a version: integers, and types of anything that can be considered a version. The components of the type must be used within `if: clauses`. If they are not, the compiler emits a warning. The conditions are used in automatic format changelog generation.
     - format_flavour # like `format version`, but can also be `bytes` and `strings`. The set of flavours is unordered.
      - reserved # informs that this field is not currently meaningful and should not be accessed and is reserved for future extension. Compiler can create the metainformation for languages that support it (for C# [Obsolete], for C++ and C2x: [[deprecated]] )
      - obsolete # informs that this field should not be accessed and us not meaningful in the current and possible versions of the format. Compiler can create the metainformation for languages that support it (for C# [Obsolete], for C++ and C2x: [[deprecated]] )
      - custom:ololo # custom attribute
    type: u4
  - id: port0
    hint: volatile # reread/recalculate on every access. Compiler creates a property.
    type: u4
```