pervasive type constraints
[scpubgit/DX.git] / lib / DX / ShellFrontend.pm
index 29eac40..3c95506 100644 (file)
@@ -1,7 +1,7 @@
 package DX::ShellFrontend;
 
-use Types::Standard qw(Enum);
 use IO::Handle;
+use Types::Standard qw(InstanceOf);
 use Caroline;
 use DX::Class;
 
@@ -12,7 +12,10 @@ has session => (
 
 has session_mode => (is => 'rwp', isa => Enum['shell','query'], required => 1);
 
-has readline => (is => 'lazy', builder => sub { Caroline->new });
+has readline => (
+  is => 'lazy', isa => InstanceOf['Caroline'],
+  builder => sub { Caroline->new }
+);
 
 sub BUILD { STDOUT->autoflush(1) }