package Bool {
  has value : private int;
  
  sub new_true : Bool () {
    
    my $self = new Bool;
    
    $self->{value} = 1;
    
    return $self;
  }
  
  sub new_false : Bool () {

    my $self = new Bool;
    
    $self->{value} = 0;
    
    return $self;
  }
  
  sub is_true : int ($self : self) {
    if ($self->{value}) {
      return 1;
    }
    else {
      return 0;
    }
  }
  
  sub set_true : void ($self : self) {
    $self->{value} = 1;
  }
  
  sub set_false : void ($self : self) {
    $self->{value} = 0;
  }
}