package DX::Role::Predicate;

use List::Util qw(reduce);
use DX::Utils qw(step CONTENTS_OF);
use DX::Role;

sub resolution_step_for {
  my ($self, $prop, @args) = @_;
  my $rspace = $self->_resolution_space_for(@args);
  return undef unless @{$rspace->members};
  return step(
    resolves => $prop,
    resolution_space => $rspace
  );
}

1;
