`clone()`
function which simply copy all properties of a instance to a new one, I can do this at runtime using `Reflect`
. I can also do it at compile time using macro, i.e. loop through all member properties and create an assignment expression for each of them.```@:generic
public static function clone<T>(object:T):T
```