215 - ignore initial value of out parameters, 220 - implicitly assign out parameters

Fixes #215.
Fixes #220 (well, the `out` parts; will spin the `ref` parts off into another issue).

As discussed in #220, pairing the `out` part of that issue with #215, as releasing #215 by itself would mean that #220 becomes a breaking change.

Couldn't use the method in subclasses' constructors, and nobody was overriding, so I devirtualized.