-{numeric, pervasive, withIdentity} = require './vhelpers'
+{numeric, pervasive, real, withIdentity} = require './vhelpers'
 {Complex, complexify, simplify} = require '../complex'
 {DomainError} = require '../errors'
 {APLArray} = require '../array'

  # 5j2-3j8 <=> 2j¯6
  # 5-3j8   <=> 2j¯8
  # -/⍬     <=> 0
  dyad: (y, x) ->
    if typeof x is 'number' and typeof y is 'number'
      x - y
    else
      x = complexify x
      y = complexify y
      simplify x.re - y.re, x.im - y.im

  # 0j2÷0j1  <=> 2
  # 5÷2j1    <=> 2j¯1
  # ÷/⍬      <=> 1
  dyad: div = numeric ((y, x) -> x / y),
    (y, x) ->
      x = complexify x
      y = complexify y
      d = y.re * y.re + y.im * y.im
