Cloner is a tool to automate the creation of a Clone method.
The result of the Clone method aliases no memory that can be edited
with the original.
This tool makes lots of implicit assumptions about the types you feed it.
In particular, it can only write relatively "shallow" Clone methods.
That is, if a type contains another named struct type, cloner assumes that
named type will also have a Clone method.