interface Spec : List Error -> Type```
spec : Spec Init => App Init ()
spec = describe "example" $ do
context "arith" $ do
it "1+1 = 2" $ do
1+1 `shouldBe` 2
it "1*1 = 1" $ do
1*1 `shouldBe` 1
```
describe : String -> App e () -> App e ()context : String -> App e () -> App e ()it : String -> App (TestError :: e) () -> App e ()describe : Spec e => String -> App e () -> App e ()context : Spec e => String -> App e () -> App e ()it : Spec e => String -> App (TestError :: e) () -> App e ()emptyState : SpecStatespecFinalReport : Has [PrimIO, Spec] e => App e ()shouldBe : HasErr TestError e => Has [Show, Eq] x => x -> x -> App e ()```
a `shouldBe` b
```