package DX::Class;

use Import::Into;

sub import {
  strictures->import::into({ level => 1, version => 2 }); # should pass version
  DX::Types->import::into(1, ':types', ':assert');
  DX::Utils->import::into(1, '*trace');
  Types::Standard->import::into(
    1, qw(Maybe ArrayRef HashRef Str Num Int Enum Bool)
  );
  Try::Tiny->import::into(1);
  Moo->import::into(1);
  # This would not be safe with method modifiers, but since the role
  # provides only a single method it works out fine.
  caller()->can('with')->('DX::Role::But');
}

1;
