```scala @retain case class Foo(id: NSInteger, date: NSDate, notes: String) ``` should transpile to ```scala case class Foo(id: NSInteger, date: NSDate, notes: String) extends Releasable { date.retain() def release(): Unit = { date.release() } ```