part of c programming
inputs first, outputs last:
when the output parameter represents the constructed object, placing it first can improve readability:
make_point(out, x, y)
make_point(out, x, y, z)
allocates and returns memory