Aliases: Scope | Supertype: Reference

Supertype (Attribute inner outer) ~ (outer `AR` (inner `P` (inner `AR` outer)))

Attribute is a way to point some substructure inside some structure.

Could be unwrapped to a Reference:

Supertype (Attribute s t) ~ Reference s t t

You can use its type alias (AT) for good looking infix type operator:

      (a `AT` o) ~ (AT a o)
     (a `AT_` o) ~ (AT_ a o)
    (a `AT__` o) ~ (AT__ a o)
   (a `AT___` o) ~ (AT___ a o)
  (a `AT____` o) ~ (AT____ a o)
 (a `AT_____` o) ~ (AT_____ a o)
(a `AT______` o) ~ (AT______ a o)

If you want to use an Attribute by a type signature, there is at method:

at :: Supertype (Attribute structure substructure)

You can use some Attribute to zoom in a Transition.