type typeName … var _ … // VisitArray adds the [] prefix and recurses. func (t *typeName) VisitArray(a *proto.Array) { … } // VisitKind just returns "Object". func (t *typeName) VisitKind(k *proto.Kind) { … } // VisitMap adds the map[string] prefix and recurses. func (t *typeName) VisitMap(m *proto.Map) { … } // VisitPrimitive returns the name of the primitive. func (t *typeName) VisitPrimitive(p *proto.Primitive) { … } // VisitReference is just a passthrough. func (t *typeName) VisitReference(r proto.Reference) { … } // GetTypeName returns the type of a schema. func GetTypeName(schema proto.Schema) string { … }