code: func Greater(t TestingT, e1 interface{}, e2 interface{}, msgAndArgs ...interface{}) bool {
  	if h, ok := t.(tHelper); ok {
  		h.Helper()
  	}
  
  	e1Kind := reflect.ValueOf(e1).Kind()
  	e2Kind := reflect.ValueOf(e2).Kind()
  	if e1Kind != e2Kind {
  		return Fail(t, "Elements should be the same type", msgAndArgs...)
  	}
  
  	res, isComparable := compare(e1, e2, e1Kind)
  	if !isComparable {
  		return Fail(t, fmt.Sprintf("Can not compare type \"%s\"", reflect.TypeOf(e1)), msgAndArgs...)
  	}
  
  	if res != -1 {
  		return Fail(t, fmt.Sprintf("\"%s\" is not greater than \"%s\"", e1, e2), msgAndArgs...)
  	}
  
  	return true
  }
docs: // Greater asserts that the first element is greater than the second
  //
  //    assert.Greater(t, 2, 1)
  //    assert.Greater(t, float64(2), float64(1))
  //    assert.Greater(t, "b", "a")