HookResult and PermissionResult are the parent classes of the values
that hook and permission callbacks return. You don't create them directly;
use HookResultPreToolUse(), HookResultPostToolUse(),
HookResultPreCompact(), PermissionResultAllow(),
PermissionResultDeny() or PermissionResultPending(). To test which kind
a value is, use S7::S7_inherits(x, PermissionResult).
Results are read-only. Read fields with $ (a missing field gives NULL),
@ or S7::prop(), or get them all as a list with S7::props(). To change
a decision, create a new result.