code: func (s *Schema) Zero() *Value {
  	switch sub := s.Schema.(type) {
  	case *Schema_Int:
  		return MustNewValue(0)
  	case *Schema_Uint:
  		return MustNewValue(uint(0))
  	case *Schema_Float:
  		return MustNewValue(0.0)
  	case *Schema_Bool:
  		return MustNewValue(false)
  	case *Schema_Str:
  		return MustNewValue("")
  	case *Schema_Bytes:
  		return MustNewValue([]byte{})
  	case *Schema_Enum:
  		return MustNewValue(sub.Enum.Entry[0].Token)
  	case *Schema_Object:
  		return &Value{Value: &Value_Object{"{}"}}
  	case *Schema_Array:
  		return &Value{Value: &Value_Array{"[]"}}
  	}
  	panic(fmt.Errorf("unknown schema type: %v", s))
  }
docs: // Zero produces a Value from this schema which is a valid 'zero' value (in the
  // go sense)