const createFieldCodec =
<Fields extends Schema.Struct.Fields>(s: Schema.Struct<Fields>) => (key: keyof Fields) =>
Schema.decodeSync(s.fields[key]);
const Person = Schema.Struct({
name: Schema.optional(Schema.String)
});
const nameCodec = createFieldCodec(Person)("name")