slot by interface{} and reflect.type
slot by interface{} and reflect.type
add strict and option variable environment