/ NonEmptyList / semigroup
semigroup
1 let NonEmpty = ./Type 2 3 in let Semigroup = ./../Semigroup/Type 4 5 in λ(a : Type) 6 → let List/op = (./../List/semigroup a).op 7 8 in { op = 9 λ(x : NonEmpty a) 10 → λ(y : NonEmpty a) 11 → { head = x.head, tail = List/op x.tail (./toList a y) } 12 } 13 : Semigroup (NonEmpty a)