Hi, I think there's some quadratic behavior in abilities lists. Here is an example reproducing the issue: ``` type Abilities w = Abilities ({w} ()) type Options ts = { as : Abilities ts } Options.empty = Options (Abilities ()) addValue : Abilities get -> Options {gets} -> Options {gets, get} addValue _t = cases Options _as -> Options (Abilities ()) ability T1 where get: () t1 : Abilities {T1} t1 = Abilities () test = Options.empty |> addValue t1 |> addValue t1 |> addValue t1 |> addValue t1 ... ``` If you add more lines like `addValue t1` you will notice that typechecking takes more and more time to complete.