| line | stmt | bran | cond | sub | pod | time | code | 
| 1 |  |  |  |  |  |  | package Data::Monad::Singleton; | 
| 2 | 1 |  |  | 1 |  | 638 | use strict; | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 24 |  | 
| 3 | 1 |  |  | 1 |  | 5 | use warnings; | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 25 |  | 
| 4 | 1 |  |  | 1 |  | 703 | use parent qw/Data::Monad::Base::Monad/; | 
|  | 1 |  |  |  |  | 288 |  | 
|  | 1 |  |  |  |  | 5 |  | 
| 5 | 1 |  |  | 1 |  | 40 | use Exporter qw/import/; | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 114 |  | 
| 6 |  |  |  |  |  |  |  | 
| 7 |  |  |  |  |  |  | our @EXPORT = qw/singleton/; | 
| 8 |  |  |  |  |  |  |  | 
| 9 | 19 |  |  | 19 | 1 | 1989 | sub singleton { __PACKAGE__->new } | 
| 10 |  |  |  |  |  |  |  | 
| 11 |  |  |  |  |  |  | my $instance = bless \(my $x = '*'), __PACKAGE__; | 
| 12 | 19 |  |  | 19 | 1 | 82 | sub new { $instance } | 
| 13 |  |  |  |  |  |  |  | 
| 14 | 2 |  |  | 2 | 1 | 5 | sub unit { singleton } | 
| 15 |  |  |  |  |  |  |  | 
| 16 | 8 |  |  | 8 | 1 | 14 | sub flat_map { singleton } | 
| 17 |  |  |  |  |  |  |  | 
| 18 |  |  |  |  |  |  | 1; | 
| 19 |  |  |  |  |  |  |  | 
| 20 |  |  |  |  |  |  | __END__ |