get dangerous behavior "by accident". It's also worth
          noting that the non-copying ("by-reference") behavior is in general
          only available for class types, and will fail at runtime with a Python
          exception if used otherwise[1].
        </p>
<p>
          However, pointer types present a problem: one approach is to refuse to
          compile if any aN has pointer type: after all, a user can always pass *aN
          to pass "by-value" or ref(*aN) to indicate a pass-by-reference
  