my ($self, $prop, $depends, $actions) = @_;
(my $hyp, my @recheck) = $self->with_actions(@$actions);
return undef unless $hyp;
- if (@recheck) {
- $hyp = $hyp->but_recheck_for(@recheck);
- return undef unless $hyp;
- }
- $hyp->but(
- resolved_propositions => $self->resolved_propositions
- ->with_resolution_for(
- $prop,
- $depends,
- ),
+ return (
+ $hyp->but(
+ resolved_propositions => $self->resolved_propositions
+ ->with_resolution_for(
+ $prop,
+ $depends,
+ ),
+ ),
+ @recheck
);
}
sub _apply_to_hyp {
my ($self, $old_hyp) = @_;
- return $old_hyp->with_resolution(
+ (my $hyp, my @recheck) = $old_hyp->with_resolution(
$self->resolves, $self->depends_on, $self->actions
);
+ return undef unless $hyp;
+ if (@recheck) {
+ $hyp = $hyp->but_recheck_for(@recheck);
+ }
+ return $hyp;
}
1;