| 22015 |      1 | module Codegen where {
 | 
|  |      2 | 
 | 
|  |      3 | import qualified Nat;
 | 
| 21147 |      4 | 
 | 
| 22015 |      5 | class Null a where {
 | 
|  |      6 |   nulla :: a;
 | 
|  |      7 | };
 | 
|  |      8 | 
 | 
| 25731 |      9 | heada :: forall a. (Codegen.Null a) => [a] -> a;
 | 
| 22751 |     10 | heada (x : xs) = x;
 | 
| 22015 |     11 | heada [] = Codegen.nulla;
 | 
| 21147 |     12 | 
 | 
| 25731 |     13 | null_option :: forall a. Maybe a;
 | 
| 25056 |     14 | null_option = Nothing;
 | 
|  |     15 | 
 | 
| 24628 |     16 | instance Codegen.Null (Maybe a) where {
 | 
| 25056 |     17 |   nulla = Codegen.null_option;
 | 
| 22015 |     18 | };
 | 
| 21147 |     19 | 
 | 
| 22015 |     20 | dummy :: Maybe Nat.Nat;
 | 
|  |     21 | dummy = Codegen.heada [Just (Nat.Suc Nat.Zero_nat), Nothing];
 | 
| 21147 |     22 | 
 | 
| 22015 |     23 | }
 |