code: func (expr *Expr) IsGround() bool {
  	switch ts := expr.Terms.(type) {
  	case []*Term:
  		for _, t := range ts[1:] {
  			if !t.IsGround() {
  				return false
  			}
  		}
  	case *Term:
  		return ts.IsGround()
  	}
  	return true
  }
docs: // IsGround returns true if all of the expression terms are ground.