package builtin import ( "context" ) type Builtin struct { Name string Function interface{} Definition string Types []string ParamTypes map[string]bool } func (b *Builtin) HasParamType(typeName string) bool { return b.ParamTypes[typeName] } type EmptyArgs struct{} type Args interface { Validate() error } type Func[T Args, R any] func(ctx context.Context, args T) (R, error)