Implements #729

diff --git a/callback.go b/callback.go
index f7fe8d0..95235ac 100644
--- a/callback.go
+++ b/callback.go
@@ -242,6 +242,8 @@
 
 func callbackArg(typ reflect.Type) (callbackArgConverter, error) {
 	switch typ.Kind() {
+	case reflect.Ptr:
+		return callbackArg(typ.Elem())
 	case reflect.Interface:
 		if typ.NumMethod() != 0 {
 			return nil, errors.New("the only supported interface type is interface{}")