code: func ParseTerm(input string) (*Term, error) {
  	body, err := ParseBody(input)
  	if err != nil {
  		return nil, errors.Wrap(err, "failed to parse term")
  	}
  	if len(body) != 1 {
  		return nil, fmt.Errorf("expected exactly one term but got: %v", body)
  	}
  	term, ok := body[0].Terms.(*Term)
  	if !ok {
  		return nil, fmt.Errorf("expected term but got %v", body[0].Terms)
  	}
  	return term, nil
  }
docs: // ParseTerm returns exactly one term.
  // If multiple terms are parsed, an error is returned.