in core/src/main/scala/com/gu/marley/AvroSchema.scala [39:42]
def apply() = fields.foldLeft(SchemaBuilder.record(name).namespace(namespace).fields) {
case (b, (k, v: AvroOptionSchema)) => b.name(k).`type`(v()).withDefault(null)
case (b, (k, v)) => b.name(k).`type`(v()).noDefault
}.endRecord