getCalculated(); foreach($perms as $name => $perm) $result->{$name} = ($calculated & $perm) > 0; return $result; } public function apply(callable $callable): IPermissionResult { return new PermissionResult($callable($this->getCalculated())); } }