Fix #18: Wrong division conversion (7 / 2.0)

The decision whether or not to perform integer division
was made based on the left operand kind. Now it is
made on the result type kind.
Fix #22: Abort with some pattern match guards.

I had overlooked one shape of tree emitted by the
pattern matcher for some pattern match guards.