hydiomatic.rules: expression => expr

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
tests: Move a test to a later position

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
hydiomatic.rules: Add a `~x => x rule

Many thanks to Nicolas Dandrimont <nicolas.dandrimont@crans.org> for the
suggestion.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
hydiomatic.core: Add support for reaching into lists too

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
hydiomatic.rules: Fix a non-idiomacy

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
hydiomatic.rules: Code cleanup

In rules/arithmeticᵒ, in the (op zero X) rule, we're going to unify out
with x anyway, so we can just skip x, and unify with out right away.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
hydiomatic.rules: Added control structure transform rules

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>