code: func (arr Array) MarshalJSON() ([]byte, error) {
  	if len(arr) == 0 {
  		return json.Marshal([]interface{}{})
  	}
  	return json.Marshal([]*Term(arr))
  }
docs: // MarshalJSON returns JSON encoded bytes representing arr.