code: func GoTypeRef(t design.DataType, required []string, tabs int, private bool) string {
  	tname := GoTypeName(t, required, tabs, private)
  	if mt, ok := t.(*design.MediaTypeDefinition); ok {
  		if mt.IsError() {
  			return "error"
  		}
  	}
  	if t.IsObject() {
  		return "*" + tname
  	}
  	return tname
  }
docs: // GoTypeRef returns the Go code that refers to the Go type which matches the given data type
  // (the part that comes after `var foo`)
  // required only applies when referring to a user type that is an object defined inline. In this
  // case the type (Object) does not carry the required field information defined in the parent
  // (anonymous) attribute.
  // tabs is used to properly tabulate the object struct fields and only applies to this case.
  // This function assumes the type is in the same package as the code accessing it.