# The `todo` and `bug` builtin

`todo` and `bug` have type `a -> b`. They take a message or a value of type `a` and crash during runtime displaying `a` in ucm.
```unison:error
> todo "implement me later"
> todo true
```
```unison:error
> bug "there's a bug in my code"
> bug 5
```

## Todo
`todo` is usefull if you want to come back to a piece of code later but you want your project to compile.
```unison
complicatedMathStuff x = todo "Come back and to something with x here"
```

## Bug
`bug` is used to indicate that a particular branch is not expected to execute.
```unison
test = case true of
    true -> "Yay"
    false -> bug "Wow, that's unexpected"
```


Add a transcript testing the behaivour of `todo` and `bug`
Add a transcript testing the behaivour of `todo` and `bug`
