defprotocol Infix.Arithmetic do def left + right def left - right def left / right def left * right end defimpl Infix.Arithmetic, for: Float do defdelegate left + right, to: Kernel defdelegate left - right, to: Kernel defdelegate left / right, to: Kernel defdelegate left * right, to: Kernel end defimpl Infix.Arithmetic, for: Integer do defdelegate left + right, to: Kernel defdelegate left - right, to: Kernel defdelegate left / right, to: Kernel defdelegate left * right, to: Kernel end