# Is it possible to remove unless keyword?

**URL:** <https://forum.crystal-lang.org/t/is-it-possible-to-remove-unless-keyword/2656>\
**Category:** Crystal Contrib\
**Created:** [November 1, 2020, 3:21pm UTC](https://forum.crystal-lang.org/t/is-it-possible-to-remove-unless-keyword/2656 "2020-11-01T15:21:33Z")\
**Posts on this page:** 3\
**Page:** 2

<div class="post-metadata">

**Author:** ![asterite](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/asterite/32/60_2.png) [@asterite](https://forum.crystal-lang.org/u/asterite)\
**Post date:** [December 13, 2020, 11:16am UTC](https://forum.crystal-lang.org/t/is-it-possible-to-remove-unless-keyword/2656/22 "2020-12-13T11:16:15Z")

</div>

The `unless` keyword will never be removed, no matter what.

---

<div class="post-metadata">

**Author:** ![j8r](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/j8r/32/111_2.png) [@j8r](https://forum.crystal-lang.org/u/j8r)\
**Post date:** [December 13, 2020, 12:03pm UTC](https://forum.crystal-lang.org/t/is-it-possible-to-remove-unless-keyword/2656/23 "2020-12-13T12:03:48Z")

</div>

It is still inferior than `if`, because we can’t do:

```auto
unless X
  ...
else unless Y
  ...
else
  ...
end

```

Also, `unless` could be a macro, which expands to `if !({{expr}})`.

---

<div class="post-metadata">

**Author:** ![asterite](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/asterite/32/60_2.png) [@asterite](https://forum.crystal-lang.org/u/asterite)\
**Post date:** [December 13, 2020, 1:17pm UTC](https://forum.crystal-lang.org/t/is-it-possible-to-remove-unless-keyword/2656/24 "2020-12-13T13:17:10Z")

</div>

Nope, macros require a `do`.

[Previous page](https://forum.crystal-lang.org/t/is-it-possible-to-remove-unless-keyword/2656.md?page=1)
