def normalize_send
      statements = value.to_vool
      return assignment( statements ) if statements.is_a?(Vool::CallStatement)
      # send has hoisted assigns, so we make an assign out of the "pure" send
      statements << assignment(statements.statements.pop)
      statements
    end
def normalize_send
      statements = value.to_vool
      return assignment( statements ) if statements.is_a?(Vool::CallStatement)
      # send has hoisted assigns, so we make an assign out of the "pure" send
      statements << assignment(statements.statements.pop)
      statements
    end
sends may have complex args that get hoisted in vool:ing them
 in which case we have to assign the simplified, otherwise the
 plain send