typical object systems are defined in terms of, well, object systems has input_file => ( is => 'ro', isa => File, coerce => 1, required => 1, );