#import auto chicken

//# @
struct egg {
  struct chicken hatchling;  // not a pointer
  struct chicken * layer;
};

//# $f
void ctor_egg( struct egg * this, struct chicken * layer ) { // handwritten
  ctor_chicken( & this->hatchling, this );
  this->layer = layer; // ctor_pointer
}

//# $f
void hatch( struct egg * this ) {
  live( & this->hatchling );
}
