diff -bu ./lib/Class/MOP/Class.pm~ ./lib/Class/MOP/Class.pm
--- ./lib/Class/MOP/Class.pm~	2017-05-03 23:06:27.000000000 +0200
+++ ./lib/Class/MOP/Class.pm	2017-05-14 15:23:16.000000000 +0200
@@ -933,6 +933,7 @@
 
 sub get_all_attributes {
     my $self = shift;
+    no strict 'hashpairs';
     my %attrs = map { %{ Class::MOP::Class->initialize($_)->_attribute_map } }
         reverse $self->linearized_isa;
     return values %attrs;
diff -bu ./lib/Moose/Util/TypeConstraints.pm~ ./lib/Moose/Util/TypeConstraints.pm
--- ./lib/Moose/Util/TypeConstraints.pm~	2017-05-03 23:06:27.000000000 +0200
+++ ./lib/Moose/Util/TypeConstraints.pm	2017-05-14 15:27:42.000000000 +0200
@@ -334,6 +334,7 @@
     # uses an object which overloads stringification as a type name.
     my $name = ref $_[0] && !blessed $_[0] ? undef : shift;
 
+    no strict 'hashpairs';
     my %p = map { %{$_} } @_;
 
     # subtype Str => where { ... };