# Announcement: unwitch / Jappie

**URL:** https://discourse.haskell.org/t/announcement-unwitch-jappie/13816
**Category:** Announcements
**Created:** [March 17, 2026, 8:17pm UTC](https://discourse.haskell.org/t/announcement-unwitch-jappie/13816 "2026-03-17T20:17:35Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![Jappie](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/jappie/32/5394_2.png) [@Jappie](https://discourse.haskell.org/u/Jappie)
#### Post date: [March 17, 2026, 8:17pm UTC](https://discourse.haskell.org/t/announcement-unwitch-jappie/13816/1 "2026-03-17T20:17:35Z")

</div>

Hello 👋 Announcing [unwitch](https://hackage.haskell.org/package/unwitch). A primitive conversion library with better safety and error messages. It can do safety on unboxed types as well.

> **[Announcement: unwitch / Spotify - Web Player: Music for everyone](https://jappie.me/announcement-unwitch.html)**

---

<div class="post-metadata">

### Author: ![taylorfausak](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/taylorfausak/32/54_2.png) [@taylorfausak](https://discourse.haskell.org/u/taylorfausak)
#### Post date: [March 17, 2026, 8:34pm UTC](https://discourse.haskell.org/t/announcement-unwitch-jappie/13816/2 "2026-03-17T20:34:55Z")

</div>

It’s hard not to take this personally 🙂

Just kidding, this is great to see! witch actually started as something very similar to this and grew into the type class approach. There’s something nice about the monomorphic conversion functions though.

---

<div class="post-metadata">

### Author: ![BurningWitness](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/burningwitness/32/3665_2.png) [@BurningWitness](https://discourse.haskell.org/u/BurningWitness)
#### Post date: [March 18, 2026, 8:37am UTC](https://discourse.haskell.org/t/announcement-unwitch-jappie/13816/3 "2026-03-18T08:37:03Z")

</div>

> [@taylorfausak](#):
>
> There’s something nice about the monomorphic conversion functions though.

The “something nice” quality you’re referring to is that `wordToWord16` is unambiguous, concise and trivial to document, unlike `fromIntegral` or `from`. I’d argue it’s so basic it deserves to be in `base`.

---

<div class="post-metadata">

### Author: ![sjakobi](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/sjakobi/32/614_2.png) [@sjakobi](https://discourse.haskell.org/u/sjakobi)
#### Post date: [March 18, 2026, 10:38am UTC](https://discourse.haskell.org/t/announcement-unwitch-jappie/13816/4 "2026-03-18T10:38:46Z")

</div>

![image](https://us1.discourse-cdn.com/flex002/uploads/haskell/original/2X/f/f60f8b1930c185c9a04bcd9310f000250759a267.png)

Why does the link mention Spotify? Is this just a copy-and-paste hickup?

---

<div class="post-metadata">

### Author: ![jaror](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/jaror/32/3271_2.png) [@jaror](https://discourse.haskell.org/u/jaror)
#### Post date: [March 18, 2026, 10:47am UTC](https://discourse.haskell.org/t/announcement-unwitch-jappie/13816/5 "2026-03-18T10:47:13Z")

</div>

Discourse uses the `<title>` element of the webpage:

```haskell
<title>Announcement: unwitch / Spotify - Web Player: Music for everyone</title>

```

---

<div class="post-metadata">

### Author: ![Jappie](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/jappie/32/5394_2.png) [@Jappie](https://discourse.haskell.org/u/Jappie)
#### Post date: [March 18, 2026, 11:01am UTC](https://discourse.haskell.org/t/announcement-unwitch-jappie/13816/6 "2026-03-18T11:01:56Z")

</div>

@leana8959 has a workspace dedicated to spotify on her desktop, if I set the title to be like spotify’s my blog goes to that workspace. ☺
