ref out の分かりにくいところは、参照型を渡すと、参照の参照が引数になっている事。
で、参照の参照ってなんだよって言われるとCでもやらないと正体不明なんだよな。
参照に書き込める特殊型として理解しておけば十分ですけど。