The structural keyword specifies that the type being defined is a structural type. Structural types may have different names but are equivalent if they share the same data constructor and type constructor structure. In Unison the following are the same:
structural type Optional a = None | Some a
structural type Maybe x = None | Just x
They can be referenced by either name in a codebase.
The unique keyword introduces a unique type, explained in the language reference here.