===
[Abilities] one line structural ability
===
structural ability Throw e where throw : e ->{Throw e} a

---
(unison
    (ability_declaration
        (structural)
        (ability)
        (wordy_id)
        (wordy_id)
        (where)
        (constructor
            (wordy_id)
            (wordy_id)
            (arrow_symbol)
            (effect
                (wordy_id)
                (wordy_id))
            (wordy_id))))
===
[Abilities] unique ability
===
unique ability Store a where
  put : a ->{Store a} ()
  get : {Store a} a
---
(unison
    (ability_declaration
        (unique)
        (ability)
        (wordy_id)
        (wordy_id)
        (where)
        (constructor
            (wordy_id)
            (wordy_id)
            (arrow_symbol)
            (effect
                (wordy_id)
                (wordy_id))
            (unit))
        (constructor
            (wordy_id)
            (effect
                (wordy_id)
                (wordy_id))
            (wordy_id))))
        